<SEC-DOCUMENT>0000950170-24-092012.txt : 20240806
<SEC-HEADER>0000950170-24-092012.hdr.sgml : 20240806
<ACCEPTANCE-DATETIME>20240806172614
ACCESSION NUMBER:		0000950170-24-092012
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		83
CONFORMED PERIOD OF REPORT:	20240630
FILED AS OF DATE:		20240806
DATE AS OF CHANGE:		20240806

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			AIRGAIN INC
		CENTRAL INDEX KEY:			0001272842
		STANDARD INDUSTRIAL CLASSIFICATION:	RADIO & TV BROADCASTING & COMMUNICATIONS EQUIPMENT [3663]
		ORGANIZATION NAME:           	04 Manufacturing
		IRS NUMBER:				954523882
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-37851
		FILM NUMBER:		241180612

	BUSINESS ADDRESS:	
		STREET 1:		3611 VALLEY CENTRE DRIVE
		STREET 2:		SUITE 150
		CITY:			SAN DIEGO
		STATE:			CA
		ZIP:			92130
		BUSINESS PHONE:		(760) 579-0200

	MAIL ADDRESS:	
		STREET 1:		3611 VALLEY CENTRE DRIVE
		STREET 2:		SUITE 150
		CITY:			SAN DIEGO
		STATE:			CA
		ZIP:			92130
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>airg-20240630.htm
<DESCRIPTION>10-Q
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<!-- DFIN New ActiveDisclosure (SM) Inline XBRL Document - http://www.dfinsolutions.com/ -->
<!-- Creation Date :2024-08-06T17:21:13.1105+00:00 -->
<!-- Copyright (c) 2024 Donnelly Financial Solutions, Inc. All Rights Reserved. -->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:nonNumeric="http://www.xbrl.org/dtr/type/non-numeric" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:stpr="http://xbrl.sec.gov/stpr/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:airg="http://www.airgain.com/20240630" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:calc="https://xbrl.org/2023/calculation-1.1" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:ecd-sub="http://xbrl.sec.gov/ecd-sub/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2022-02-16">
 <head>
  <title>10-Q</title>
  <meta http-equiv="Content-Type" content="text/html"/>
 </head>
 <body style="margin: auto!important;padding: 8px;">
  <div style="display:none;"><ix:header><ix:hidden><ix:nonNumeric id="F_968fa2b9-c3c3-4825-ba59-83b071deb8a9" name="dei:CurrentFiscalYearEndDate" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4">--12-31</ix:nonNumeric><ix:nonNumeric id="F_0c462bf7-73bc-48f3-bd22-d8b78afefb2a" name="dei:DocumentFiscalPeriodFocus" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4">Q2</ix:nonNumeric><ix:nonNumeric id="F_d68775a1-210e-4715-8892-5a2830e8d126" name="dei:EntityCentralIndexKey" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4">0001272842</ix:nonNumeric><ix:nonNumeric id="F_539167b2-f2f0-4e5d-a8cb-3784be99699a" name="dei:AmendmentFlag" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" format="ixt:fixed-false">false</ix:nonNumeric><ix:nonFraction id="F_68bbfecf-86d2-4fa4-a0fb-376f6658b8e0" name="us-gaap:CommitmentsAndContingencies" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" unitRef="U_USD" xsi:nil="true"/><ix:nonFraction id="F_93140f6c-69c4-4553-926c-b886dda4c55a" name="us-gaap:CommitmentsAndContingencies" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" unitRef="U_USD" xsi:nil="true"/><ix:nonNumeric id="F_937bdce1-8050-4e4e-9c39-8107ba36c542" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="C_6e9f26b0-2196-446e-be4a-4dfee6c01643" format="ixt-sec:durwordsen">three year</ix:nonNumeric><ix:nonNumeric id="F_cf1b385b-7ee7-4c17-8624-172917d1a479" name="airg:DeferredRevenueRecognitionPeriod" contextRef="C_94b0ba2c-32ea-477a-a1ae-b51a9eae7d1f" format="ixt-sec:durwordsen">three Months</ix:nonNumeric><ix:nonNumeric id="F_008c8ceb-a1b6-4dd4-80ba-6aa77eae877c" name="airg:DeferredRevenueRecognitionPeriod" contextRef="C_3969066a-c5e9-4ebd-91e6-e40a3ea55879" format="ixt-sec:durwordsen">eighteen months</ix:nonNumeric><ix:nonNumeric id="F_c9121012-3123-46d1-bae5-a4da06668ebe" name="us-gaap:LeaseExpirationDate1" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" format="ixt:date-month-day-year">12/31/2025</ix:nonNumeric><ix:nonNumeric id="F_cc054951-6da5-4631-b3a8-345e431eada7" name="us-gaap:LessorOperatingLeaseTermOfContract" contextRef="C_6e9f26b0-2196-446e-be4a-4dfee6c01643" format="ixt-sec:durwordsen">one year</ix:nonNumeric></ix:hidden><ix:references><link:schemaRef xlink:type="simple" xlink:href="airg-20240630.xsd"/></ix:references><ix:resources><xbrli:context id="C_80d7a7a5-b4a0-4933-a935-ffd720765c6f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_814c6938-137e-44bb-a615-e62384dc5c72"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_82204119-297d-48a3-abf7-3e4210eec762"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:ChinaIncludingHongKongAndTaiwanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_85745882-ba3b-4f06-8f7e-1e5fe04752a5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_87ae4f4f-83db-4f98-843d-3a2dc8347ab2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:TwoThousandAndSixteenEquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8afd67a6-21bc-4aea-bc88-a028179aff26"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:AuthorizedForGrantsUnderTheInducementPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8ccc0045-47ca-4207-a179-7263b4aabc0b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8cf7e596-9d10-441a-b538-5a80dc9e39c2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8ed3b33d-16c9-4dfa-8951-8386276958f5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:StockOptionsIssuedAndOutstandingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_8ef290ea-e362-4743-a68d-e8f774b80d92"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_8fd77bee-290c-4fa5-99b0-b61204bfb6a4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">airg:PerformanceStockUnitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_94b0ba2c-32ea-477a-a1ae-b51a9eae7d1f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_95ab88bd-76d4-4fbf-ac09-eed5b64d70d4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerBMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_976ca171-b836-4a71-a94e-1b3170ade920"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_97c02c81-358b-4e05-85c1-05997fed85f0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_9a55883d-ffe6-40dd-aa81-0bcaed69b5a3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a069a180-fbf0-45c0-b825-5adaf8a7d68a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a08674a3-8240-4564-9b3e-fb444bd12512"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:StockAwardsIssuedAndOutstandingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a1fabf1a-d67e-45a9-ba4b-8693f38c7f3d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a2b3b19c-2261-47e7-9722-24a11aa4ce75"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a2f21e0a-510a-4388-a9a6-cd10cc924858"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">airg:AtTheMarketOfferingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a52a33fe-2be9-4bc0-aa13-0abcd28fa9b3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:MajorCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a5df0e59-957c-4aa1-a540-46af7254a00e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerBMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_a7de98d0-f87d-4aed-bbbc-55335506faeb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_a8e39d89-3e18-4531-b879-ea90204c0cdf"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_b1218745-a548-435b-8858-f81a78fcd512"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">us-gaap:InventoriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b52e8f40-b7fc-435c-9aa0-ea34a1f54a31"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b7ca1f41-0722-4e27-82aa-b407341774ba"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_b943ea6d-4ffd-4191-bfe3-b662c75b79b7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_bc853caf-d882-4dae-844e-7d1e7ae55dac"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerBMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_bcf875af-7903-400f-8262-96e0b47ff190"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_bdc7cb5a-8aaa-45e9-97b3-4749711a0bf9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c3558740-5177-4303-925a-741d67251b64"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c39b14e8-88dd-402b-ad71-f085dcba3a41"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:TwoThousandAndSixteenEquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c41a6b24-816d-4625-8226-843b7e0b6f08"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:StockAwardsIssuedAndOutstandingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c4891f8b-64f7-4473-b3f5-a4df34d35fb4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:AtmOfferingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c5947326-06db-4c9a-a516-420565e54d71"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c7681787-01da-4cfc-9e8a-937ba84d7664"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:ConsumerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c7b51bbf-4036-496f-b649-0a51a6f2430a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">us-gaap:InventoriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c7d38e66-fcbc-4f1e-b534-d7212b488dc5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_c895571d-5c20-4fd0-ac84-e70be4798d56"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c90ea074-812d-49eb-8bc3-ab07e462da2e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_c9ca72ad-7aa1-4859-9947-8646bfb8f97d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cad2f106-8993-4864-8850-b5761cd56414"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">airg:ConsignedInventoriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_cd66e254-7059-4158-877d-216d4bb66281"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_cd95ca01-4f9d-47aa-9933-babfe3662b3b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">airg:StockOptionsAndRestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cead1641-409f-43be-bccb-5e3221473122"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-07-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ced7521a-62cc-45b9-aee4-d4c87166f847"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:ChinaIncludingHongKongAndTaiwanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cf4fda84-de4f-452f-bd29-8ec8e091841c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_cf65dcfe-458b-4495-b80e-6844ce37ba8b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_cfcbd150-1e5f-4bef-b9ad-a94f636581b9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:AutomotiveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d2b68738-49e7-493a-bad7-b0771bcb17e5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:AutomotiveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d41a7360-3930-46e7-bcff-eb8f951d01c8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d488db77-a50f-4229-bff3-7b90b7f4ee80"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_d5208580-b31f-4278-96c4-458467a06404"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d756fc16-9565-4ffb-8fb3-907e85f41039"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d8d82aee-dcf1-4d83-9c15-6283e8e3c2bf"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d959d453-ae1a-48d4-9cc8-a592be22c074"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">airg:PerformanceStockUnitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_d9e87829-3307-4f50-81a6-612078b9ce93"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_de43bcee-a258-444f-bdd6-df8b22af0192"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:MarketingRelatedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_df7cf5fc-2cfd-443d-8cb6-e015b17b16c3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e08a265f-a0ae-4dea-b575-c207e3767bff"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:ChinaIncludingHongKongAndTaiwanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e13ae568-6342-469d-adc8-7054c28ff7e9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:AutomotiveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e1d45918-415f-4f91-8e24-34e59f2ab891"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e2ee1d69-1df5-4dbe-ad5e-89d1d5f0cb18"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">airg:ConsignedInventoriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e5aeb583-1e63-4a2c-b261-1d61577d1e04"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:ConsumerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e62c79c8-aad7-473f-ae37-eb4df80fca2e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_e70a59ac-c0ac-4d2a-aaa3-4d6c25a9fbf7"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ecf301a5-d7cb-454b-ac8c-0d3234eda685"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ed6acad9-a4a2-4161-824f-b8f4fea4caaa"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f0092e37-3e8e-4d27-82ba-d12f007de93b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f18ff514-9b71-47b3-a852-bdc092deb181"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f35c89b1-4f70-4aed-99aa-b7311ba222b1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f3d44044-80bd-43bc-a462-ebdd4154a134"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f46e4734-cb96-4e89-9673-74cc9f95d89a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f516d4b3-b8d5-4a9f-a16e-97e5765eea44"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f5c550f5-1153-455f-99ac-1cddcdb6bd95"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:AuthorizedForGrantsUnderTheInducementPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-02-05</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f67e1f33-d314-40ee-8261-3043e701723b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f6818781-2254-43b7-b119-6e8a5d443cb8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_f6f6a2be-0017-4a01-a899-30d6bee38a06"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_f8aa5819-5c2b-412b-9071-5040b8b70a35"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_fc54f691-20ce-46f0-8746-2c0b4b77f54b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_fc9b5504-33f6-466b-8261-5df11f04d1e0"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fe2fa791-a70e-47bd-b627-8b3bbf7e331a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:OtherCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_fe906bb9-5790-4cb8-9fc5-b5569132b0cc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_ffcc8a12-49a2-4919-9b70-70a2a061cdb1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:EnterpriseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_002c4ee5-9ad4-43a9-900c-08812d50ebb4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">airg:StockOptionsAndRestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_00c8fc38-b9f5-45ca-8645-9cfe7d739a09"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerBMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_022b18f1-b927-4784-a869-b04f4dc6d38b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_033858d2-91ee-4dc8-8a1b-308848505b0a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_04b64740-56af-4312-9a6c-2a8ec8130d7f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_06163348-6a9b-4911-8496-b909f45a4cea"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">airg:PerformanceStockUnitMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_0640c210-4475-42d6-a3f0-5ce15bb96ccc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_080f94c2-9831-4b0b-a458-2967a24b61c5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_082140e5-b0f6-48a7-ad76-9b55d9594f79"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">airg:CovenantsToNonCompeteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_08ec7d9c-a94b-4c25-9045-375630b633cd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_09a33da6-d065-4b89-8318-235485b3d9cb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0aeaccfa-63c4-457b-aba4-e58bc0acd805"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:OtherCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0bcf9265-2463-4d18-8070-5bbe06eed5df"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerBMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0e194c87-3083-4f0d-8b8b-65e5b32819ce"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0e69e4a6-67a1-4425-b9cb-60594d2b6d42"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0eda61ad-97a4-4823-9348-afe087975fc3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:ChinaIncludingHongKongAndTaiwanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_0f730fde-c292-4e50-b2fe-040bc977de0b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:TwoThousandAndSixteenEmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_10985b53-06bb-4478-8d0f-35be935ef4b2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_11b40b49-3fd2-4d9c-82bb-80db1bcb7727"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_120b8152-dc6c-4d14-a177-d9b92844dad3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:AtmOfferingsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1256b3cf-9b7f-4c0d-99b0-e1b9750725d9"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:AuthorizedForGrantsUnderTheInducementPlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_12a62de7-249e-41b4-89ff-5b260e18ae97"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_14ce5797-d93c-4ac2-ad52-bc40a5d27b94"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_15a0d859-fe84-45c2-8866-74f60844f244"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1952da4a-9508-4358-8ff0-b4d057c1ed14"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:EnterpriseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_19b82e51-20c2-4a00-a405-b79138daa225"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1afdc367-4577-4fdd-99e9-9906a07e083d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1ba04047-43b5-43b7-9beb-1a23891b8db2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:EnterpriseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1d19cea9-23c5-4939-b613-fa587083cbf3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:TwoThousandAndSixteenEmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-01-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1deee19f-880d-4d52-82fe-016d15dd795a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_1f06fa80-da98-4168-83d9-fd00ba7c309d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">airg:ComputersAndSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_1f7cd16b-5932-40b4-965b-574b1c66ea26"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">airg:ComputersAndSoftwareMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_21144858-ddc6-4b4c-b337-f611fd400ada"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_211b034d-b71f-44aa-b1fd-04af90e0c4cd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_21cceabb-c989-4e1e-8ae3-1925911976e4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_22b78f39-4e0e-4151-bb78-29aef703c3ef"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_23e7b44a-8abe-4f0c-84b9-25b485dcc397"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_2a4acd5b-9793-4309-8c82-dc9d1d6a70cd"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2aa10c7a-7d5a-4616-a85e-4aa09e5d2335"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_2fca67c5-3c31-4124-84cd-12c3e7566cd4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3026f516-70b9-4f50-86eb-9bc1730954df"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_32900feb-cb63-4ffc-983d-11813814d34e"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_340bce37-8b20-46ff-a728-7d31ba68791b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">airg:AtTheMarketOfferingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_341efb3e-fe01-4b72-847e-336c78246d89"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">airg:CovenantsToNonCompeteMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3425a20e-7c3a-45bd-a497-dee432c9dd9f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_351027b2-5ddc-4739-9065-afa498bca863"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_365fcfcb-3555-4411-86f0-1a070d2e4af2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:TwoThousandAndSixteenEmployeeStockPurchasePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_3969066a-c5e9-4ebd-91e6-e40a3ea55879"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_39b91c54-7d09-4705-804a-98be89f600ca"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:MajorCustomersMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_3fe87f98-e239-4ec7-b535-be91491d7428"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">airg:StockOptionsAndRestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_406fd382-7b26-4270-a36a-e388be8ec9b5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_45ad0116-9b99-4c93-a4f2-6e632d0cb996"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">airg:StockOptionsAndRestrictedStockMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_45c0e743-24dd-4135-8ce6-2450628d38b8"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:OtherCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_46837950-affe-4a34-a6b2-44c87b328126"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_480ad527-3492-4e13-869f-57533d7af10f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:MarketingRelatedIntangibleAssetsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4b9786ea-df06-424e-a162-533d97031170"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_4bceeb1b-2475-440d-96c9-a90b4a0a066b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:ConsumerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4cf81107-a033-4b96-bcba-bf43481690eb"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:OtherCountriesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4d093ac2-9a3f-4acc-8923-f34bbd39eec4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:TwoThousandAndSixteenEquityIncentivePlanMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-01-01</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_4d9465af-3f74-48f7-aa6f-9d372d477df1"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_51ee3ed8-956d-47a3-a921-682bf88a5721"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_53019d3e-70fc-43ff-ab6f-65fc83de5b4f"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_54553e49-f718-47c3-a177-7d5ddf9a39e3"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_54e3c8fa-7281-4931-af34-fe9db0bcfd04"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_57c6919f-9384-4691-b87d-1f6bfb6c717d"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:StockOptionsIssuedAndOutstandingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_57cd6524-ad06-498c-b8d9-9d9107205839"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_58e4f120-1efd-4401-8384-861db10be743"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5aa804d9-ee90-4144-91af-33137e2cafaf"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5c05f44a-a76e-43f9-b701-d85ca14f276a"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5c6e0d5f-b67a-49c0-a9b5-523af891b437"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerBMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5c80f53f-063d-4e96-83c9-b98152853166"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:AutomotiveMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_5d2411ba-6e05-4c71-9171-749f98c1a520"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_5f6638eb-5f0e-4049-bf05-f222443db01b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_60436025-54e0-429d-bc1d-601d568d18d5"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_62fa26ce-ebd1-47b7-a482-008a58de099c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-04-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_63718222-753e-42aa-9f27-f99e69a1860c"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_647363e2-cd37-4f30-97cc-7379e29198b6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_68147606-c8a9-47ad-9a8d-b28464e6d987"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_684ad4fe-7c58-40a3-9a53-a78f3e3f43bc"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_68b61dde-321a-404c-abd2-3a34e3cb52ac"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_690fe95f-91a2-467c-989b-6dadb97f55d2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_6d971958-9b69-4096-a7d7-ff117638a4f6"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_6e9f26b0-2196-446e-be4a-4dfee6c01643"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_72836a28-db75-428c-95b6-5401a42a5e14"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_748226f9-cdbd-4102-bf2d-ef43cd5a1fff"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_74f5000c-88e6-49bf-96f3-c08519842d35"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:ConsumerMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_74f8e6e7-cb0d-4dc0-adb4-e8d589f85fd2"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-06-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_7535d394-21bf-4fbb-a848-92c4572718e4"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_789ae37c-e89a-4496-8b41-b98316a1a539"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="C_7c5de85f-fa79-4d2e-b506-b07fd48a8fea"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_7e1f151e-598d-40c0-b711-c41d33819d44"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="C_7f383697-5844-4b82-9a4e-b3050028607b"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001272842</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:EnterpriseMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-04-01</xbrli:startDate><xbrli:endDate>2023-06-30</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="U_pure"><xbrli:measure>xbrli:pure</xbrli:measure></xbrli:unit><xbrli:unit id="U_Days"><xbrli:measure>airg:Days</xbrli:measure></xbrli:unit><xbrli:unit id="U_USDollarShare"><xbrli:divide><xbrli:unitNumerator><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unitNumerator><xbrli:unitDenominator><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unitDenominator></xbrli:divide></xbrli:unit><xbrli:unit id="U_shares"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="U_USD"><xbrli:measure>iso4217:USD</xbrli:measure></xbrli:unit><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8" fromRefs="F_875b104e-f21d-4d24-b4f4-af869e8e4d8d F_f478f454-faa3-40db-8d1a-44312e37bc99 F_4ef4dc0b-9f86-42f9-833c-489649d88bf1 F_e36068b5-0a1a-45a5-9129-d95b9ca6b669 F_f54f47e3-2b23-4ee2-8ff9-aef37cb7fad3 F_fba44fcc-f844-4a8f-974d-578e9c2e9dbe F_26957875-1597-4a69-a023-eaf4f7c40b88 F_eae259af-6a85-4e84-bc6e-31577e405fcd F_370a21f6-e02c-4745-8777-b381c648ebe1 F_f7b39257-6ea2-4920-bbb8-afd3f95d4a80 F_27844e8c-f3e3-4cbb-9141-3e51ead0d079 F_df9211b8-ae46-4d10-9c79-ef58a8f6e68a"/><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_f9b5b373-b0a3-42b7-be74-c6704769000b" fromRefs="F_e36068b5-0a1a-45a5-9129-d95b9ca6b669 F_26957875-1597-4a69-a023-eaf4f7c40b88"/><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_9778f514-a4e8-4858-8ee1-d7ad0675707c" fromRefs="F_4ef4dc0b-9f86-42f9-833c-489649d88bf1 F_370a21f6-e02c-4745-8777-b381c648ebe1"/><ix:relationship linkRole="http://www.xbrl.org/2003/role/link" arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote" toRefs="FNT_dc045c25-eecb-4ffa-865a-6d28ab80eb51" fromRefs="F_f54f47e3-2b23-4ee2-8ff9-aef37cb7fad3 F_fba44fcc-f844-4a8f-974d-578e9c2e9dbe"/></ix:resources></ix:header></div>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1.5pt double;text-align:center;"><span style="white-space:pre-wrap;font-size:4pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:4pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:18pt;font-family:Arial;min-width:fit-content;">UNITED STATES</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:18pt;font-family:Arial;min-width:fit-content;">SECURITIES AND EXCHANGE COMMISSION</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Arial;min-width:fit-content;">WASHINGTON, DC 20549</span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:6pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:18pt;font-family:Arial;min-width:fit-content;">FORM </span><span style="font-size:18pt;font-family:Arial;"><ix:nonNumeric id="F_53970d28-6a8e-432a-b6e3-b265e99ebe39" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:DocumentType"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:18pt;font-family:Arial;min-width:fit-content;">10-Q</span></ix:nonNumeric></span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:6pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">(Mark One)</span></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:12pt;font-family:Arial;"><ix:nonNumeric id="F_1a78ab51-e6f5-41fd-a5ac-3bd919ec2eb3" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:DocumentQuarterlyReport" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Arial;min-width:fit-content;">&#9746;</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Arial;min-width:fit-content;">	QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">FOR THE QUARTERLY PERIOD ENDED </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_d173079d-2ba1-4351-a5ce-b406b2783ea7" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:DocumentPeriodEndDate" format="ixt:date-monthname-day-year-en"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">June 30, </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_3c773ae7-4fb5-4b66-84f6-2b42fb0097db" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:DocumentFiscalYearFocus"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">2024</span></ix:nonNumeric></span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">OR</span></p>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:12pt;font-family:Arial;"><ix:nonNumeric id="F_46a1b2c0-2525-4092-a37a-4d0522847f6e" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:DocumentTransitionReport" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Arial;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:12pt;font-family:Arial;min-width:fit-content;">	TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">FOR THE TRANSITION PERIOD FROM       TO</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">       </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Commission file number: </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_40a4427c-a7d1-4a9f-bafc-ee2a2b1587ba" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:EntityFileNumber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">001-37851</span></ix:nonNumeric></span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:6pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:23pt;font-family:Arial;"><ix:nonNumeric id="F_43617b67-6f13-4819-b0bc-c2adbb5122f4" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:EntityRegistrantName"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:23pt;font-family:Arial;min-width:fit-content;">AIRGAIN, INC.</span></ix:nonNumeric></span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">(Exact name of registrant as specified in its charter)</span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:6pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:50%;"/>
    <td style="width:1%;"/>
    <td style="width:49%;"/>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><ix:nonNumeric id="F_951fc723-ef06-4edd-b769-e145cc0441a9" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:EntityIncorporationStateCountryCode" format="ixt-sec:stateprovnameen"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Delaware</span></ix:nonNumeric></span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"> </span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><ix:nonNumeric id="F_a703fffc-70b4-4fef-b439-3781742ba368" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:EntityTaxIdentificationNumber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">95-4523882</span></ix:nonNumeric></span></p></td>
   </tr>
   <tr style="height:8pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">(State or Other Jurisdiction of Incorporation or Organization)</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"> </span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">(I.R.S. Employer Identification No.)</span></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;text-align:left;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><ix:nonNumeric id="F_191048fc-7c2a-4d94-bbc9-85bbd0ff364a" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:EntityAddressAddressLine1"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">3611 Valley Centre Drive</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">, </span><span style="font-family:Arial;"><ix:nonNumeric id="F_0515d3ee-ab81-45f5-ba82-c456dda2ce2a" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:EntityAddressAddressLine2"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">Suite 150</span></ix:nonNumeric></span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><ix:nonNumeric id="F_4ff35bc5-6ec9-4e0c-84ff-61cfe69d766d" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:EntityAddressCityOrTown"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">San Diego</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">, </span><span style="font-family:Arial;"><ix:nonNumeric id="F_32f16617-db29-46ac-9aa1-f6a341d988dc" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:EntityAddressStateOrProvince"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">CA</span></ix:nonNumeric></span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"> </span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><ix:nonNumeric id="F_b0520c5f-0bc9-4134-809d-7de3ce03efa4" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:EntityAddressPostalZipCode"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;min-width:fit-content;">92130</span></ix:nonNumeric></span></p></td>
   </tr>
   <tr style="height:8pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">(Address of Principal Executive Offices)</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"> </span></p></td>
    <td style="vertical-align:top;text-align:left;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">(Zip Code)</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_99ab5030-e544-4feb-ab90-f6b69c8cd929" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:CityAreaCode"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">760</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">) </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_ab1a3f08-ddc7-4d3c-99f8-c0f1e36bba00" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:LocalPhoneNumber"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">579-0200</span></ix:nonNumeric></span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Arial;min-width:fit-content;">(Registrant&#8217;s Telephone Number, Including Area Code)</span></p>
  <p style="margin-left:40%;padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:0.5pt solid;margin-right:40%;text-align:center;"><span style="white-space:pre-wrap;font-size:4pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">Securities registered pursuant to Section 12(b) of the Act:</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:40%;"/>
    <td style="width:20%;"/>
    <td style="width:40%;"/>
   </tr>
   <tr style="height:9pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Title of each class</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Trading Symbol(s)</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Name of each exchange on which registered</span></p></td>
   </tr>
   <tr style="height:9pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;font-family:Arial;"><ix:nonNumeric id="F_a87a6ad8-4cb4-4dbe-878a-013a7f879ee0" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:Security12bTitle"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Common stock, par value $0.0001 per share</span></ix:nonNumeric></span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;font-family:Arial;"><ix:nonNumeric id="F_f8182372-98b5-44f8-8441-d44ca1bb5750" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:TradingSymbol"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">AIRG</span></ix:nonNumeric></span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;font-family:Arial;"><ix:nonNumeric id="F_71fcf2fd-279b-46c5-95f9-a5853545d86f" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:SecurityExchangeName" format="ixt-sec:exchnameen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Nasdaq</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">&#160;Capital Market</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">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.  </span><span style="font-size:9pt;font-family:Arial;"><ix:nonNumeric id="F_74fa3ec4-dd4a-4933-9712-a4ffbaf882ad" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:EntityCurrentReportingStatus"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">Yes</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;"> &#9746;  No &#9744;</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">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 (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).  </span><span style="font-size:9pt;font-family:Arial;"><ix:nonNumeric id="F_629a590b-ea3d-4103-b471-43a150b2cffc" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:EntityInteractiveDataCurrent"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">Yes</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;"> &#9746;  No &#9744;</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:6pt;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of &#8220;large accelerated filer&#8221;, &#8220;accelerated filer&#8221;, &#8220;smaller reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:20.84%;"/>
    <td style="width:4.16%;"/>
    <td style="width:50%;"/>
    <td style="width:20.84%;"/>
    <td style="width:4.16%;"/>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Large accelerated filer</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#9744;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accelerated filer</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#9744;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:9pt;font-family:Arial;"><ix:nonNumeric id="F_82bcb44d-c165-402f-8793-920acef98153" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:EntityFilerCategory" format="ixt-sec:entityfilercategoryen"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Non-accelerated filer</span></ix:nonNumeric></span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#9746;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Smaller reporting company</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;font-family:Arial;"><ix:nonNumeric id="F_407a223b-9042-43b7-9174-49f7df4503ce" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:EntitySmallBusiness" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9746;</span></ix:nonNumeric></span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Emerging growth company</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-size:9pt;font-family:Arial;"><ix:nonNumeric id="F_64220ff0-aa9d-4ebc-9708-3927401508f5" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:EntityEmergingGrowthCompany" format="ixt-sec:boolballotbox"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">&#9744;</span></ix:nonNumeric></span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. &#9744;</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">Indicate by check mark whether registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act).  &#9744; Yes  </span><span style="font-size:9pt;font-family:Arial;"><ix:nonNumeric id="F_c10a0abb-d8a8-42e6-b983-9e8d6f3380f9" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="dei:EntityShellCompany" format="ixt:fixed-false"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">&#9746;</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">  No</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:100%;"/>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="padding-bottom:1pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;border-bottom:1.5pt double;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">As of July 31, 2024, the registrant had </span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a2567908-8fa0-47e1-b8d4-61f1ef0b1f7a" contextRef="C_cead1641-409f-43be-bccb-5e3221473122" name="dei:EntityCommonStockSharesOutstanding" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">11,301,507</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;"> shares of common stock (par value $0.0001) outstanding.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">AIRGAIN, INC.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Form 10-Q</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">For the Quarter Ended June 30, 2024</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:88.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:91.629%;"/>
    <td style="width:8.371%;"/>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Page</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">PART I. FINANCIAL INFORMATION</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:36.75pt;vertical-align:top;"><p style="margin-left:24.5pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#part_i"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Item 1. Condensed Consolidated Financial Statements (Unaudited)</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:69.85pt;vertical-align:top;"><p style="margin-left:57.6pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#condensed_balance_sheets"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Condensed Consolidated Balance Sheets</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">3</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:69.85pt;vertical-align:top;"><p style="margin-left:57.6pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#condensed_statements_operations"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Condensed Consolidated Statements of Operations</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">4</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:69.85pt;vertical-align:top;"><p style="margin-left:57.6pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#condensed_stmts_comprehensive_income"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Condensed Consolidated Statements of Comprehensive Loss</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">5</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:69.85pt;vertical-align:top;"><p style="margin-left:57.6pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#statement_of_stockholdersequity"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Condensed Consolidated Statements of Stockholders&#8217; Equity</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">6</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:69.85pt;vertical-align:top;"><p style="margin-left:57.6pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#statement_of_cashflows"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Condensed Consolidated Statements of Cash Flows</span><span style="color:#0000ff;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">8</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:69.85pt;vertical-align:top;"><p style="margin-left:57.6pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#notes_to_condensed_financial_statements"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Notes to Condensed Consolidated Financial Statements</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">9</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:36.75pt;vertical-align:top;"><p style="margin-left:24.5pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_2_managements_discussion_analysis_f"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Item 2. Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">24</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:36.75pt;vertical-align:top;"><p style="margin-left:24.5pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_3_quantitative_qualitative_disclosu"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Item 3. Quantitative and Qualitative Disclosures about Market Risk</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">33</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:36.75pt;vertical-align:top;"><p style="margin-left:24.5pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_4_controls_procedures"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Item 4. Controls and Procedures</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">33</span></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:36.75pt;vertical-align:top;"><p style="margin-left:24.5pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:36.75pt;vertical-align:top;"><p style="margin-left:24.5pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td colspan="2" style="text-indent:12pt;vertical-align:top;"><p style="text-indent:-12pt;padding-left:12pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">PART II. OTHER INFORMATION</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:36.75pt;vertical-align:top;"><p style="margin-left:24.5pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_1_legal_proceedings"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Item 1. Legal Proceedings</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">34</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:36.75pt;vertical-align:top;"><p style="margin-left:24.5pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_1a_risk_factors"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Item 1A. Risk Factors</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">34</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:36.75pt;vertical-align:top;"><p style="margin-left:24.5pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_2_unregistered_sales_equity_securit"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Item 2. Unregistered Sales of Equity Securities and Use of Proceeds</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">34</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:36.75pt;vertical-align:top;"><p style="margin-left:24.5pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_3_defaults_upon_senior_securities"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Item 3. Defaults Upon Senior Securities</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">34</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:36.75pt;vertical-align:top;"><p style="margin-left:24.5pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_4_mine_safety_disclosures"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Item 4. Mine Safety Disclosures</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">34</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:36.75pt;vertical-align:top;"><p style="margin-left:24.5pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_5_or_information"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Item 5. Other Information</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">34</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:36.75pt;vertical-align:top;"><p style="margin-left:24.5pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#item_6_exhibits"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Item 6. Exhibits</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">34</span></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:36.75pt;vertical-align:top;"><p style="margin-left:24.5pt;text-indent:-12.25pt;padding-left:12.25pt;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="#signatures"><span style="color:#0000ff;white-space:pre-wrap;font-weight:bold;text-decoration:underline;font-family:Arial;min-width:fit-content;">SIGNATURES</span></a></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">36</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="part_i_financial_information"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">PART I. FINANCI</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">AL INFORMATION</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="part_i"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">ITEM 1. FINA</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">NC</span><span id="item_1_financial_statements"></span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">IAL STATEMENTS</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Airgain, Inc.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="condensed_balance_sheets"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Condensed Consolidated Ba</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">lance Sheets</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Arial;min-width:fit-content;">(In thousands, except par value)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Arial;min-width:fit-content;">(Unaudited)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:72%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:10.58%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.42%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Assets</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Current assets:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cash and cash equivalents</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fe5f5e0c-0e66-4959-b70c-7ed049413fbe" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,416</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97a0ed42-831b-4c7c-af62-c87821d4817e" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,881</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Trade accounts receivable, net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_51bb15bf-cb56-42b6-a93a-13d8dba6539b" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,642</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_db018e68-a61c-4c59-a07d-69892f65ee77" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:AccountsReceivableNetCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,375</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Inventories</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3aa30eb1-582d-48de-a888-12f6e068aec2" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,144</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c2cfabe-3ab5-44f3-b2fa-81823e018888" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,403</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_61d106c6-3695-4c9c-aa8c-f073b9294c62" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,109</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fc63e121-8b09-40b2-a314-f6eeff81b5bf" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:PrepaidExpenseAndOtherAssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,422</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total current assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_72b12f4f-d734-416a-8a35-d74a8700289a" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:AssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">21,311</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5db82979-af5e-4ece-b191-ccb463f447f1" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:AssetsCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,081</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Property and equipment, net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_26f6824e-cbf9-47ff-ba9b-25ef0b8952fc" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,220</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_44fe05b5-6871-4487-a73d-40b0d9962b74" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,507</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Leased right-of-use assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dd9835c6-0518-4166-a71b-0fc092be8d12" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,146</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_679a0235-e4d6-4640-92db-efe1916b4df3" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:OperatingLeaseRightOfUseAsset" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,392</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Goodwill</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fd9a7c14-5d3c-41b9-9c93-7425ffe195be" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,845</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ad08f114-54c4-4baa-84bd-fe68dab5b3fb" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:Goodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,845</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Intangible assets, net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9a3859ad-a08d-4519-b0f1-27e7de59ebe2" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,751</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f45f087-bb5d-4e6c-b7fb-fa718f513e16" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:IntangibleAssetsNetExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,234</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Other assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41495283-4740-4665-9eba-f431295bba60" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">164</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0fc46015-10bf-4ff7-afdc-82638538a5ee" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:OtherAssetsNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">170</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_689f1117-4ebb-4206-9395-498feb1bf5d0" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">42,437</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b333f862-a31f-4352-8c4d-ad45087e81b1" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:Assets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">42,229</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Liabilities and stockholders&#8217; equity</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Current liabilities:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accounts payable</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_83610707-9f11-4bf8-9bd8-dad7975eba2a" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:AccountsPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,844</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b02ff4c-0e84-4a8b-84db-68070bf6835a" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:AccountsPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,472</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued compensation</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4e7a5008-0090-4465-a557-0f9d85bf974e" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:AccruedBonusesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,295</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6a3665c5-5a40-4b64-ad71-45b83ab96c91" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:AccruedBonusesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">728</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued liabilities and other</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2244d80a-2ab4-4fb9-a47a-73f1054344cb" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="airg:AccruedLiabilitiesAndOtherLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,287</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_95d87db6-90f9-48cf-9561-21d743f9fb97" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="airg:AccruedLiabilitiesAndOtherLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,926</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Short-term lease liabilities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_344a8970-5dbf-47e1-9d01-f80956822a95" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">881</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b1e517f-1b6b-4f3c-9ecf-b369c2fa4ad1" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">865</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total current liabilities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_384624d2-e279-4d2c-9bc4-83187501e3d5" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,307</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_359fcc40-7c64-4a74-8404-e359a1192ef2" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:LiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,991</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Deferred tax liability</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e3f592ff-5b2e-41d6-99ab-e1a541238f5b" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">170</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_33f1b171-9878-4e9e-bec3-cecf0794877c" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:DeferredIncomeTaxLiabilitiesNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">151</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Long-term lease liabilities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fcabebef-ed98-4496-8168-be7cea65e033" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">370</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9a62fe5b-b4fb-4946-a442-7b8494cbca5b" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">674</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total liabilities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c25f933d-ea99-4702-9072-d3730acf4d0c" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,847</ix:nonFraction></span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c474daec-6ff1-421f-a664-ed4eab93fa16" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:Liabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,816</ix:nonFraction></span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;"><span style="-sec-ix-hidden:F_68bbfecf-86d2-4fa4-a0fb-376f6658b8e0;"><span style="-sec-ix-hidden:F_93140f6c-69c4-4553-926c-b886dda4c55a;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">Commitments and contingencies (Note 13)</span></span></span></span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Stockholders&#8217; equity:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock and additional paid-in capital, par value $</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_60cc9404-24b2-460a-b72a-731be408d67b" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:CommonStockParOrStatedValuePerShare" unitRef="U_USDollarShare" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_7153d168-6945-433f-b8bf-dce25e7d2533" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:CommonStockParOrStatedValuePerShare" unitRef="U_USDollarShare" decimals="INF" format="ixt:num-dot-decimal">0.0001</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">, </span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a04e9131-1466-4586-81e1-8c24046e8186" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:CommonStockSharesAuthorized" unitRef="U_shares" scale="3" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_13ba28f1-6c64-4cb5-a8fa-4a508cc66bfb" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:CommonStockSharesAuthorized" unitRef="U_shares" scale="3" decimals="INF" format="ixt:num-dot-decimal">200,000</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;shares authorized; </span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_44f5ea32-4f8e-4cd6-b78f-ce1cefa04b69" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:CommonStockSharesIssued" unitRef="U_shares" scale="3" decimals="INF" format="ixt:num-dot-decimal">11,842</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;shares issued and </span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fe9d2b57-16fe-48df-8b18-d0426bbd8653" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:CommonStockSharesOutstanding" unitRef="U_shares" scale="3" decimals="INF" format="ixt:num-dot-decimal">11,301</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;shares outstanding at June 30, 2024; and </span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d92f1522-f979-4393-a7d7-692f8f7e1b17" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:CommonStockSharesIssued" unitRef="U_shares" scale="3" decimals="INF" format="ixt:num-dot-decimal">11,010</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;shares issued and </span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0a54ceb2-143b-4542-b609-766ef3f4e99f" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:CommonStockSharesOutstanding" unitRef="U_shares" scale="3" decimals="INF" format="ixt:num-dot-decimal">10,469</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;shares outstanding at December 31, 2023.</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_06ea53fe-6242-4183-93d3-abfed3ad3505" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:CommonStocksIncludingAdditionalPaidInCapital" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">120,444</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_464bd4b6-cc3c-4c16-bdf5-81a5fe1770c4" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:CommonStocksIncludingAdditionalPaidInCapital" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115,295</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Treasury stock, at cost: </span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_04f3e63d-14af-4169-af76-3235840e6bf0" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:TreasuryStockCommonShares" unitRef="U_shares" scale="3" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_dc438274-b621-4e38-ba4a-93692064785f" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:TreasuryStockCommonShares" unitRef="U_shares" scale="3" decimals="INF" format="ixt:num-dot-decimal">541</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;shares at June 30, 2024 and December 31, 2023.</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_20ecef99-6306-468d-9381-09c04bbee614" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:TreasuryStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,364</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0e07004c-76da-4296-ac7f-4472e3c0ca1a" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:TreasuryStockValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,364</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accumulated deficit</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0a19c398-d277-4af2-97e8-4968107a7d3e" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:RetainedEarningsAccumulatedDeficit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">83,489</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b90288a3-33a0-4952-9aca-987e3ea3a706" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:RetainedEarningsAccumulatedDeficit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">78,521</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accumulated other comprehensive (loss) income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_42312b02-8ad3-4704-9b60-5b7e111d4c4e" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a6cb58d4-cec1-4402-b1d3-e744dfd6388f" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total stockholders&#8217; equity</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f30ecafc-5144-43e0-8ae0-1abe0deb5111" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">31,590</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b369cd31-6106-493d-87dc-dd9c0f925859" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">31,413</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total liabilities and stockholders&#8217; equity</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1c4fba6e-b0c5-4066-bf81-b745e2d5ff02" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">42,437</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_02fc102e-a1c0-4bff-8c81-f67d2b9a4216" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:LiabilitiesAndStockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">42,229</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The accompanying notes are an integral part of these condensed consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">3</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Airgain, Inc.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="condensed_statements_operations"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Condensed Consolidated Stateme</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">nts of Operations</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Arial;min-width:fit-content;">(In thousands, except per share data)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Arial;min-width:fit-content;">(Unaudited)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:42.997%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:12.645%;"/>
    <td style="width:1%;"/>
    <td style="width:1.501%;"/>
    <td style="width:1%;"/>
    <td style="width:10.384%;"/>
    <td style="width:1%;"/>
    <td style="width:1.501%;"/>
    <td style="width:1%;"/>
    <td style="width:10.384%;"/>
    <td style="width:1%;"/>
    <td style="width:1.501%;"/>
    <td style="width:1%;"/>
    <td style="width:10.084%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
    <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
    <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Sales</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97a2e8fb-d0ca-443c-91cc-5c92fd3c52c3" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,184</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7867d8c7-c6d7-4c34-aa9e-8e1e66900e8d" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,830</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f09ab399-7ad2-48b4-a317-90a6cf9665ea" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29,415</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2902f9a4-2816-43da-b5ba-c4faa4a67487" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">32,274</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cost of goods sold</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8c8f6fac-ade8-48c4-8f14-8b7c00960c7f" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:CostOfRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,036</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1892fa74-7b20-4073-8588-9008ac338a53" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:CostOfRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,551</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_96c8496f-fc8b-4c22-936c-23900a82c4cc" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:CostOfRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,691</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7bb1c2be-da5a-4623-9165-d53fc8804d74" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:CostOfRevenue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,677</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Gross profit</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5c07facb-25b3-4cfc-9d08-cb541a16cfb9" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:GrossProfit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,148</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1c65a6bf-98f0-47ad-8e50-8287b48c6a63" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:GrossProfit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,279</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a9526f6d-4b5a-47db-9f5e-ed95d6babe3b" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:GrossProfit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,724</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_87ee858d-7921-49e1-b7e6-bc9ffd0b2594" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:GrossProfit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,597</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Operating expenses:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Research and development</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9390c463-a455-4018-ad46-e1ca94a62be9" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,116</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fa9022a8-0642-4c43-94be-b01e50644db5" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,590</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0f92921a-e07f-4cb1-94ce-f3f010d7adb5" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,236</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3ae074ef-443f-4ac1-a12e-ef4bac04cbc7" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:ResearchAndDevelopmentExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,039</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Sales and marketing</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aceb3afd-5ca8-4939-b109-7e66c57d418b" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:SellingAndMarketingExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,349</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c0ac5ae-be63-4964-87c5-8af8a6dd632f" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:SellingAndMarketingExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,305</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c5eb491d-dd59-4dfb-a0fd-a2215d6d9a2f" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:SellingAndMarketingExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,507</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ccfd7fa0-5b60-4a5c-a445-1b015d3abc84" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:SellingAndMarketingExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,171</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">General and administrative</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_427ba75b-018c-4767-a2f1-b7a88a11f154" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:GeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,188</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3cc47ff1-8d94-44a7-8972-95de8f548278" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:GeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,596</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_77ee7104-d0f2-4a40-9500-09bc4d95d785" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:GeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,115</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_61bf010c-40cf-4fa1-92c1-efe1fe346130" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:GeneralAndAdministrativeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,389</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total operating expenses</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5a62e0ae-dd17-4679-924e-c325537dc257" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:OperatingExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,653</ix:nonFraction></span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d27b2359-cc03-4871-9f3e-e2d65923a6f6" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:OperatingExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,491</ix:nonFraction></span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_04d4389d-ce6a-4a92-95df-e8bfc39a2985" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:OperatingExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16,858</ix:nonFraction></span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3f4a4623-c35c-4049-8ec1-63f6f205d801" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:OperatingExpenses" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,599</ix:nonFraction></span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Loss from operations</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6c1c0682-c080-4c7b-89ba-8a93ecd4bd27" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,505</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b04d124-3a45-4720-9073-279f47a42897" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,212</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_09ecb756-fe84-452d-93ac-e6add47690c1" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,134</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7dc83e01-e049-4398-9e5c-b645c51d5d15" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:OperatingIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,002</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Other (income) expense:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Interest income, net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_02df0fbe-07b5-4fe6-9fe7-12409de03278" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:OtherNonoperatingIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">27</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6684e65d-c8ef-498e-8fba-9c56c47cd298" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:OtherNonoperatingIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">16</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9acb3337-cfd8-4e90-9e1e-47f2fd9e380c" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:OtherNonoperatingIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">53</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5239b5da-cdbd-4bb8-bb32-0114ebba4f5e" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:OtherNonoperatingIncome" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Other expense (income)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b2033cb4-92a0-4e79-9404-1bfd0227522d" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="airg:OtherIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4ce68ad5-2594-400d-87e1-41d3783ac969" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="airg:OtherIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">11</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_28f83fd1-b904-4342-82ed-248b11a45cd2" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="airg:OtherIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6fc62ed1-621c-47d4-b7bf-ddd68e583e79" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="airg:OtherIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">15</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total other income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_206f157e-caea-4422-ac0e-2959d6010da0" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">26</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_37a50d02-f427-4ee9-8474-818d479589bc" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b46bd52d-b808-47fd-8860-8705f547b188" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">60</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4567d3d9-b5dc-4896-b3da-865bdaab0940" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:OtherNonoperatingIncomeExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Loss before income taxes</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c4d2630d-b8a3-4c0e-9f45-bd3a23391cbd" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,479</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_18216bf2-fd65-4563-a04f-07928ab836b5" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,207</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8f9377a6-a215-4642-b9b9-5728910ac7a9" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,074</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b5a9254f-7427-4f3b-836c-7e78dded9b05" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">4,983</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Income tax expense (benefit)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3bf79034-d9ca-4d07-b919-e4daf1860179" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">34</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f2caddd6-bfa9-425f-b128-ec121d7f4a28" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aaf69230-e974-47a6-91d2-0fefc18cba9c" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">106</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c0bc2dc0-79dc-4829-beac-ff0d5af6a8bb" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:IncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">80</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net loss</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c3987455-fc08-41c8-b96d-808e7711ad1b" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,513</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ba040781-f6b8-4eb5-b756-5eddf21297f7" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,205</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_af1f9a76-4d72-4c5b-ae2e-0399cc06d2f6" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">4,968</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e2f8b1f2-1dbc-4cc6-adc8-9d915c9bb2fb" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,063</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net loss per share:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Basic</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d76f1ffa-af37-41e2-b8eb-65d34d92fb46" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:EarningsPerShareBasic" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.23</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_32e34ccb-903d-49c4-908e-188f29ee7651" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:EarningsPerShareBasic" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.21</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2fad4d10-aad0-4551-816b-17cfa8a57a31" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:EarningsPerShareBasic" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.46</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_691855a9-ffc2-46dd-88c2-9fa58e0a1571" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:EarningsPerShareBasic" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.49</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Diluted</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_170ec652-998a-46b4-9c77-77760604420c" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:EarningsPerShareDiluted" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.23</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9f10b55b-5978-45ac-9cbf-4e4d7e62a8ae" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:EarningsPerShareDiluted" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.21</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_870d0e11-80e3-40d0-aa36-49e082c10ea1" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:EarningsPerShareDiluted" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.46</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f185d888-f92b-41a7-8f2a-9608303fd413" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:EarningsPerShareDiluted" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.49</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Weighted average shares used in calculating loss per share:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Basic</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f4aea72c-36e5-44ab-85fd-cd49dd27ed2b" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,938</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a661ef85-91f7-4991-97a3-fe74905f4c9c" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,413</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_98f179fa-4114-40c2-981e-405700371511" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,736</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a375cdbe-5ff3-48b4-abe8-0e9cc91169d4" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,340</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Diluted</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_01552f33-ed27-4702-bab5-4ed7df4ed7e5" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,938</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3343220f-9942-4d34-848e-f144c5dc0cc8" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,413</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_77c03620-3794-4e98-ab40-8f8d744183ef" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,736</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_640895e2-72f7-42a2-8eb6-3e768ac3c4bc" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,340</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The accompanying notes are an integral part of these condensed consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">4</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Airgain, Inc.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="condensed_stmts_comprehensive_income"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Condensed</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"> Consolidated Statements of Comprehensive Loss</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Arial;min-width:fit-content;">(In thousands)</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Arial;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Arial;min-width:fit-content;">(Unaudited)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:43.989%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:12.803%;"/>
    <td style="width:1%;"/>
    <td style="width:1.46%;"/>
    <td style="width:1%;"/>
    <td style="width:10.042%;"/>
    <td style="width:1%;"/>
    <td style="width:1.46%;"/>
    <td style="width:1%;"/>
    <td style="width:10.042%;"/>
    <td style="width:1%;"/>
    <td style="width:1.46%;"/>
    <td style="width:1%;"/>
    <td style="width:9.741999999999999%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net loss</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_332dadbc-80e1-4924-97e8-3109715bc4c9" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,513</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e0c56efe-8529-42d6-ae5b-dbe572abb334" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,205</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c167c0c8-4cfb-49a3-af6b-d1342dad2c53" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">4,968</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8ce0654e-e908-44cf-8842-8bc07c15b6d6" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,063</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Other comprehensive loss:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Foreign currency translation adjustment</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9aca9018-4a12-4ef4-a207-42c01417f30f" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f8db373c-8053-4c26-a286-94c25967fe98" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e2f10085-735b-43ca-a5dd-1a96a3360646" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">4</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_82b24b16-4f94-40d6-87df-70ad1fc7d461" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Comprehensive loss</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b8ed7fd4-bc9d-481f-aa35-d92f74bd9645" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,515</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9315e1ca-6fee-4d0d-be38-cfc14374b232" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,205</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_570cf519-bc51-4ecd-88d5-2160b238c460" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">4,972</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d042d6b8-4349-494c-8718-1923e687edf1" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:ComprehensiveIncomeNetOfTax" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,063</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The accompanying notes are an integral part of these condensed consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">5</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Airgain, Inc.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="statement_of_stockholdersequity"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Condensed</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"> Consolidated Statements of Stockholders&#8217; Equity</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Arial;min-width:fit-content;">(In thousands)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Arial;min-width:fit-content;">(Unaudited)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:28%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:5%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:6%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:5%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:5%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:9%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:10%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="26" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Fiscal Quarters Ended June 30, 2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Common Stock And Additional Paid-In Capital</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Treasury Stock</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Shares</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Amount</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Shares</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Amount</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Accumulated Other Comprehensive (Loss) Income</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Accumulated<br/>Deficit</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Total<br/>Stockholders&#8217; Equity</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fd;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ef503734-e863-47e9-980a-066e0b49b928" contextRef="C_d756fc16-9565-4ffb-8fb3-907e85f41039" name="us-gaap:SharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,010</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0105bf1e-eb27-48df-b4b8-e92144b120eb" contextRef="C_d756fc16-9565-4ffb-8fb3-907e85f41039" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115,295</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_80d476a9-b6e2-481e-89e1-11e60ae451c8" contextRef="C_4b9786ea-df06-424e-a162-533d97031170" name="us-gaap:SharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">541</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f577e390-8fb6-4bdf-b3f6-61cf83ebf3eb" contextRef="C_4b9786ea-df06-424e-a162-533d97031170" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,364</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eb2ed57f-fee4-4e7b-8890-0873f7f1a47b" contextRef="C_0640c210-4475-42d6-a3f0-5ce15bb96ccc" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e5b641ad-59cf-4de6-a659-9d3378de76b0" contextRef="C_14ce5797-d93c-4ac2-ad52-bc40a5d27b94" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">78,521</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0ef2a3ce-a699-4279-8c9e-a4f36f59ded0" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">31,413</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net loss</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f516f16-568d-43bd-88d3-ed5932ba0830" contextRef="C_684ad4fe-7c58-40a3-9a53-a78f3e3f43bc" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,455</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d23a430a-9b38-462e-bd04-bf45f37b1a3a" contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,455</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fd;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Stock-based compensation</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1e39f85b-9296-4b22-b922-ef693c99fb9a" contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,087</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0fba31fc-1a3b-4a9b-9f97-0f779092184a" contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,087</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock Issued through restricted stock awards</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c898fb7e-80da-44b2-b941-85adde614ae0" contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">169</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock withheld related to net share settlement of equity awards</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_56009561-e7c0-4745-992a-117740eb127b" contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244" name="airg:Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare" unitRef="U_shares" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">24</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_07d650c8-b6ef-49d7-afe9-cd347d72f63f" contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244" name="airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">94</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e53642fa-5ee8-4ff6-bf05-3860a93a6588" contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72" name="airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">94</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock issued under ESPP</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c4aac6c0-33fd-4255-bdd1-a033aee492e2" contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">23</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a35c73dd-f3cc-4919-a28a-64871caad9a3" contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">76</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a3eb695-f121-4554-8233-b7a226875291" contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">76</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Foreign currency translation adjustments</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a778a12-4999-4ef1-913d-f0eefcdce270" contextRef="C_8cf7e596-9d10-441a-b538-5a80dc9e39c2" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4710c725-9975-42f4-a4be-ec453d987b1c" contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fd;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock Issued in connection with at-the-market offerings, net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c23a443a-c6d2-4b36-adc5-5014f5152dee" contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244" name="airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">124</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7144fd1c-0338-46e3-9c15-542645a4d5ab" contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244" name="airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">488</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ca2e746-ef01-4392-8c1c-a6958584696f" contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72" name="airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">488</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fd;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Balance at March 31, 2024</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_065243ff-997f-4cff-af97-0d5dbc54bd53" contextRef="C_351027b2-5ddc-4739-9065-afa498bca863" name="us-gaap:SharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,302</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a2b379c-f7d8-4b4a-bf85-b1f99ee73349" contextRef="C_351027b2-5ddc-4739-9065-afa498bca863" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">116,852</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_efe0394e-9fd3-4d53-9b49-cace2a6bcc14" contextRef="C_cf65dcfe-458b-4495-b80e-6844ce37ba8b" name="us-gaap:SharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">541</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f3452c52-8574-4be7-89c7-1710d4eaddc1" contextRef="C_8fd77bee-290c-4fa5-99b0-b61204bfb6a4" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,364</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c1be7ee0-9caa-44c6-8bf0-94c3a22e4913" contextRef="C_d5208580-b31f-4278-96c4-458467a06404" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c4025a6f-9eb4-43f5-8ba2-0f5974540c36" contextRef="C_11b40b49-3fd2-4d9c-82bb-80db1bcb7727" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">80,976</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d8e944fa-39b0-44b1-9cb0-27baeb6fabaf" contextRef="C_d41a7360-3930-46e7-bcff-eb8f951d01c8" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30,513</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net loss</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_49776478-5d80-4c1b-b100-c36f572bd842" contextRef="C_f0092e37-3e8e-4d27-82ba-d12f007de93b" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,513</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3623164b-c1d8-4a83-a15a-96fda5c090f4" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,513</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fd;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Stock-based compensation</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_21c8649b-69b1-429d-a4bf-db44367a315f" contextRef="C_51ee3ed8-956d-47a3-a921-682bf88a5721" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,049</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_01971203-860d-409f-9e52-c7bd1c38918b" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,049</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock Issued through restricted stock awards</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f4a1307d-5b96-4538-b124-149721afead9" contextRef="C_51ee3ed8-956d-47a3-a921-682bf88a5721" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">27</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fd;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock Issued through stock options</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_28be379b-86ef-44b3-be69-3df8b6ae87e1" contextRef="C_51ee3ed8-956d-47a3-a921-682bf88a5721" name="airg:CommonStockIssuedThroughStockOptionsShare" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">8</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_21ec3d89-326f-4721-a8e0-0c86cece0652" contextRef="C_51ee3ed8-956d-47a3-a921-682bf88a5721" name="airg:CommonStockIssuedThroughStockOptions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0ebef52d-4dc7-4231-9225-bb21713ebe28" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="airg:CommonStockIssuedThroughStockOptions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">25</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Foreign currency translation adjustments</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_02c1da33-be05-4626-96b0-4f0d8a85210e" contextRef="C_a069a180-fbf0-45c0-b825-5adaf8a7d68a" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_164f1a39-20ac-4693-886e-0c2ab2dbc948" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fd;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock Issued in connection with at-the-market offerings, net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_67c0bf24-4ef9-4ba9-b040-baf3415b0d1f" contextRef="C_51ee3ed8-956d-47a3-a921-682bf88a5721" name="airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">505</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0fb5f3f2-f269-48fb-9081-597c9ed766c7" contextRef="C_51ee3ed8-956d-47a3-a921-682bf88a5721" name="airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,518</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1e98ca37-2d82-49e7-83b4-6379ea778350" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,518</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Balance at June 30, 2024</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4dc2901e-1919-44df-a650-8a0491b11228" contextRef="C_6d971958-9b69-4096-a7d7-ff117638a4f6" name="us-gaap:SharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,842</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7e8dcd04-927f-453f-b0f7-b40607ac7159" contextRef="C_6d971958-9b69-4096-a7d7-ff117638a4f6" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">120,444</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9e6e7344-eee1-4b62-a8be-b15f25ce6566" contextRef="C_f8aa5819-5c2b-412b-9071-5040b8b70a35" name="us-gaap:SharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">541</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_808eabbf-95f2-42b4-b0ea-b0deaa592bff" contextRef="C_f8aa5819-5c2b-412b-9071-5040b8b70a35" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,364</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d5d99671-7aad-4e63-a6a1-b2f1f8dade15" contextRef="C_022b18f1-b927-4784-a869-b04f4dc6d38b" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">1</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d5482752-716a-4ca5-b573-0def2eb43555" contextRef="C_c7d38e66-fcbc-4f1e-b534-d7212b488dc5" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">83,489</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_23f9b33a-da64-4881-bb65-1c78b3571ef6" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">31,590</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The accompanying notes are an integral part of these condensed consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">6</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:28%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:5%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:6%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:5%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:5%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:9%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:10%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="26" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Fiscal Quarters Ended June 30, 2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Common Stock And Additional Paid-In Capital</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Treasury Stock</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Shares</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Amount</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Shares</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Amount</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Accumulated Other Comprehensive (Loss) Income</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Accumulated<br/>Deficit</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Total<br/>Stockholders&#8217; Equity</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fd;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Balance at December 31, 2022</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b0dfb2f-f8c1-4ef1-b31d-9922cb324121" contextRef="C_f6f6a2be-0017-4a01-a899-30d6bee38a06" name="us-gaap:SharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,767</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_325e1d67-239e-439d-8058-cf823ef52920" contextRef="C_f6f6a2be-0017-4a01-a899-30d6bee38a06" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">111,282</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dfdcbfd4-8109-49d0-82af-d166d2f1c3b5" contextRef="C_f35c89b1-4f70-4aed-99aa-b7311ba222b1" name="us-gaap:SharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">541</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d1ebae87-e844-4a4c-b4a2-f37b08f08f92" contextRef="C_f35c89b1-4f70-4aed-99aa-b7311ba222b1" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,364</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dba80eee-a649-4edf-94cc-20bd056d84db" contextRef="C_cd66e254-7059-4158-877d-216d4bb66281" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">66,093</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_07e43322-dd24-4de0-bfdc-7ad56b479e35" contextRef="C_2fca67c5-3c31-4124-84cd-12c3e7566cd4" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">39,825</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net loss</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_233073ad-4554-444a-921a-28ee54543afc" contextRef="C_2a4acd5b-9793-4309-8c82-dc9d1d6a70cd" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,858</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b369bc53-0b98-4d26-81c6-6167a740d5cb" contextRef="C_68147606-c8a9-47ad-9a8d-b28464e6d987" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,858</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fd;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Stock-based compensation</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2af509bf-e88d-423c-b586-00ac2d78f280" contextRef="C_f6818781-2254-43b7-b119-6e8a5d443cb8" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,874</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_328b5e63-07fb-4560-85e6-b6ed65ab17f4" contextRef="C_68147606-c8a9-47ad-9a8d-b28464e6d987" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,874</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock Issued through restricted stock awards</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3fcd354e-0dde-4013-83d4-c0b72d3a9d15" contextRef="C_f6818781-2254-43b7-b119-6e8a5d443cb8" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">278</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fd;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock withheld related to net share settlement of equity awards</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f28c000b-d2ee-4190-a992-83a1b265f196" contextRef="C_f6818781-2254-43b7-b119-6e8a5d443cb8" name="airg:Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare" unitRef="U_shares" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">118</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_75b5ccad-36ac-4830-a015-d8b155397dac" contextRef="C_f6818781-2254-43b7-b119-6e8a5d443cb8" name="airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">678</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_55ad5212-4009-444a-9bc9-30907568da9e" contextRef="C_68147606-c8a9-47ad-9a8d-b28464e6d987" name="airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">678</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock issued under ESPP</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_48493a20-d9af-459d-a149-5a9663ad6810" contextRef="C_f6818781-2254-43b7-b119-6e8a5d443cb8" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">22</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_54d1856a-340c-4cf1-8682-247990ca1a1d" contextRef="C_f6818781-2254-43b7-b119-6e8a5d443cb8" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">137</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_117494fd-73ba-4a53-8ade-611c86818ac9" contextRef="C_68147606-c8a9-47ad-9a8d-b28464e6d987" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">137</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fd;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Balance at March 31, 2023</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7948a3aa-766f-4f8e-b1ac-68a30bb7c967" contextRef="C_21cceabb-c989-4e1e-8ae3-1925911976e4" name="us-gaap:SharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,949</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8de1a14-b08c-4570-929c-9ce8b284b7d8" contextRef="C_21cceabb-c989-4e1e-8ae3-1925911976e4" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">112,615</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c4b904e1-b79d-4c8b-aebe-dc49ef5a3f7d" contextRef="C_cf65dcfe-458b-4495-b80e-6844ce37ba8b" name="us-gaap:SharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">541</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_29370a31-befa-4dc8-9264-9b487db7d740" contextRef="C_cf65dcfe-458b-4495-b80e-6844ce37ba8b" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,364</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3a15d04b-5565-4fcf-ac09-882659f028f6" contextRef="C_8ccc0045-47ca-4207-a179-7263b4aabc0b" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">68,951</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d1675656-6a9d-4506-bcf7-e03cea1a8310" contextRef="C_d8d82aee-dcf1-4d83-9c15-6283e8e3c2bf" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">38,300</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net loss</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee5317b0-7d09-4596-b091-b6fb958e0777" contextRef="C_df7cf5fc-2cfd-443d-8cb6-e015b17b16c3" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,205</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ee9f1cbb-f375-49cd-8766-d70734287242" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,205</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fd;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Stock-based compensation</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_58181feb-70fb-4834-8b24-ed1989b3daa0" contextRef="C_21144858-ddc6-4b4c-b337-f611fd400ada" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">968</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1afc0be2-d64a-482c-8859-8984268d203f" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">968</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock Issued through restricted stock awards</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dd7e54ea-713f-4de3-ac8e-88bf0debd69f" contextRef="C_21144858-ddc6-4b4c-b337-f611fd400ada" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">5</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fd;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock withheld related to net share settlement of equity awards</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3ac8c04c-4916-40a7-b116-ed12c12bae1a" contextRef="C_21144858-ddc6-4b4c-b337-f611fd400ada" name="airg:Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare" unitRef="U_shares" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6cb10c8a-aabb-4773-80f3-f0e7df569f97" contextRef="C_21144858-ddc6-4b4c-b337-f611fd400ada" name="airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_48d1fe2d-33b1-4b6f-a6ad-e93f2442951f" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">12</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:10pt;text-indent:0;font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock Issued through stock options</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2ad79b45-a84c-4eff-a567-28042315ad42" contextRef="C_21144858-ddc6-4b4c-b337-f611fd400ada" name="airg:CommonStockIssuedThroughStockOptionsShare" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">12</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aee740fc-0d37-40ea-9fcd-a43ca24c7e5b" contextRef="C_21144858-ddc6-4b4c-b337-f611fd400ada" name="airg:CommonStockIssuedThroughStockOptions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">28</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f90d10bf-6d2b-452b-b0d8-91a51a34ac3a" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="airg:CommonStockIssuedThroughStockOptions" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">28</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:8pt;background-color:#cff0fd;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Balance at June 30, 2023</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cb34f51d-253e-4f0d-957f-45cf23d76362" contextRef="C_23e7b44a-8abe-4f0c-84b9-25b485dcc397" name="us-gaap:SharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,964</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e25b0102-4ccf-40ec-a409-da3050ad4f29" contextRef="C_23e7b44a-8abe-4f0c-84b9-25b485dcc397" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">113,599</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b947bd46-9f0c-4569-866b-0909c388a84c" contextRef="C_b52e8f40-b7fc-435c-9aa0-ea34a1f54a31" name="us-gaap:SharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">541</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_890fdc62-68c4-4054-884c-86689c7831c2" contextRef="C_b52e8f40-b7fc-435c-9aa0-ea34a1f54a31" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,364</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:8.5pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b6f4f7a4-f739-4881-a617-fe5c0e7f1788" contextRef="C_60436025-54e0-429d-bc1d-601d568d18d5" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">71,156</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:8.5pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_031f79a9-c74c-4f5c-b3be-ab7bb3089e8e" contextRef="C_5d2411ba-6e05-4c71-9171-749f98c1a520" name="us-gaap:StockholdersEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">37,079</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:8.5pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The accompanying notes are an integral part of these condensed consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">7</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Airgain, Inc.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="statement_of_cashflows"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Condensed Consolidated S</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">tatements of Cash Flows</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Arial;min-width:fit-content;">(In thousands)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Arial;min-width:fit-content;">(Unaudited)</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:62.72%;"/>
    <td style="width:2.08%;"/>
    <td style="width:1%;"/>
    <td style="width:14.56%;"/>
    <td style="width:1%;"/>
    <td style="width:2.08%;"/>
    <td style="width:1%;"/>
    <td style="width:14.56%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Cash flows from operating activities:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net loss</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5239e09c-5078-4908-a510-1a63e4160524" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ProfitLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">4,968</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f772c6df-0427-4ca1-acad-9e2163c4f8f7" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:ProfitLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,063</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Adjustments to reconcile net loss to net cash (used in) provided by operating activities:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Depreciation</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4560b5cf-7c24-4208-8a46-7e850c1646ed" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:Depreciation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">284</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e08b112f-8d51-4db3-ae66-378107c0def9" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:Depreciation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">342</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Loss on disposal of property and equipment</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_998fccd0-0870-4f79-b296-f844349437ea" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1ff58dc8-21ef-4270-8e55-414ba01f4aa1" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:GainLossOnSaleOfPropertyPlantEquipment" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">11</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Amortization of intangible assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8f1bb38-0bc7-4ec0-b71f-a81b2e473c1d" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:AmortizationOfIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,484</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d0fa851b-3115-4341-8134-53bca984655e" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:AmortizationOfIntangibleAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,485</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Stock-based compensation</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41d5ccc4-df3a-4dfe-9971-e3b61f9677e3" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,253</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a81529ca-f75f-4c4d-8685-1421bad90271" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:ShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,949</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Deferred tax liability</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6406ba1c-7104-421d-9873-c358112be5e1" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:DeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a1ab66f3-b4cd-430a-aadf-85745fd65df6" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:DeferredIncomeTaxExpenseBenefit" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Amortization of prepaid assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_46ccac9f-a8af-42c2-91d0-7bca538d9891" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="airg:AmortizationOfPrepaidAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">132</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_529c23bf-c22e-4eae-9aa8-a0bd63071f83" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="airg:AmortizationOfPrepaidAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrual of property and equipment</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9ffc29b5-92f2-4855-9bd0-e9e96939b6bc" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="airg:AccrualOfPropertyAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">22</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_920df80b-2fe6-4b81-ab34-ba5de9928ed3" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="airg:AccrualOfPropertyAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Changes in operating assets and liabilities:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Trade accounts receivable</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e10b2708-64b1-4bf9-913b-c40bd11ab376" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:IncreaseDecreaseInAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,267</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b8707945-fb62-4d27-913b-57b7e0d3ebbb" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:IncreaseDecreaseInAccountsReceivable" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">115</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Inventories</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_77a6416d-a2ab-4b8f-9c2a-3d542010e475" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:IncreaseDecreaseInInventories" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">740</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_56422be6-6c45-4540-8645-b9d67074c6d4" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:IncreaseDecreaseInInventories" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">571</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Prepaid expenses and other current assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_60ba344b-5fca-46b9-8dc5-ce8e94043b3f" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">312</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_489063c6-e549-405f-a1c0-07e7c962ab78" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">596</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Other assets</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4b9b379e-5907-49cc-aab1-993145295596" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_57c2c062-cd07-422f-be64-491d5f1f9ed2" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:IncreaseDecreaseInOtherCurrentAssets" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">6</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accounts payable</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ecacde22-a749-42f2-b0d9-d5185d5bfbc1" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">628</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_966b9b57-267c-4f3c-9803-f92c4c09bab0" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:IncreaseDecreaseInAccountsPayable" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">877</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued compensation</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1e8f34b7-72e4-4520-80e7-8b72ae655802" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">379</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ef021635-5591-4e97-ae89-c9f4aadcfdac" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">880</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued liabilities and other</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f585a822-89d3-4d52-8cf2-b832d29849e4" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">432</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_42bfbc26-1df1-4abe-92f3-585f64f37d63" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">912</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:10pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:10pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Lease liabilities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6a9d1092-a2df-48d6-bf2b-a804c49e34de" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="airg:IncreaseDecreaseInLeaseLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">42</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_937432c9-5058-4ee8-8c1e-9e3582356c94" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="airg:IncreaseDecreaseInLeaseLiabilities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">36</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net cash used in operating activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e268a768-648a-4fb8-978c-342c6ea8072c" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,322</ix:nonFraction></span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f16665e9-9eb4-40fc-96e3-74eeafe999cc" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:NetCashProvidedByUsedInOperatingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,004</ix:nonFraction></span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Cash flows from investing activities:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Purchases of property and equipment</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_df635c96-be31-4e17-b62e-d99ebeadaf62" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">150</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e90e6de7-c08a-40bb-a24e-1892a5c85bbb" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">104</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net cash used in investing activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9e622c1b-d076-4a2a-98d4-7187295eb329" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">150</ix:nonFraction></span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b1a1d0c6-407e-4dfa-81e5-4ccd01886a30" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:NetCashProvidedByUsedInInvestingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">104</ix:nonFraction></span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Cash flows from financing activities:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Proceeds from at-the-market common stock offering, net of offering costs</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9b5ea80a-2e62-4752-a9c2-f7cb798a183b" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ProceedsFromIssuanceOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,006</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2d9282a3-dd86-4fe2-9899-f33965ef3e8c" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:ProceedsFromIssuanceOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Payments for withholding taxes related to net share settlement of equity awards</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0b5c6bd1-cdeb-4743-8132-8c459a3b2d4c" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">95</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_83931cc6-9203-4f3a-b739-ec482476aa50" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">690</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Proceeds from employee stock purchase and option exercises</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c7604ff1-19ba-45f0-9c56-373a33ccae2c" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ProceedsFromStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">101</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_77c8b8e7-ad03-41fa-8c3f-baef1fa8cf8d" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:ProceedsFromStockOptionsExercised" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">165</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net cash provided by (used in) financing activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_397f6811-483d-4d6b-b684-4b5207a8850c" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,012</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f9c2c3bb-31c2-4ff3-b346-fced7c750cd4" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:NetCashProvidedByUsedInFinancingActivities" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">525</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fd;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Effect of exchange rate changes on cash, cash equivalents and restricted cash</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_28a19a92-d582-479d-af2a-603d7a1f73d3" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c96d4186-8c17-4e9e-a59e-57daf653e65d" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net increase (decrease) in cash, cash equivalents and restricted cash</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_42611ed1-4fda-4892-884d-b17bb57d1707" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">535</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">(</span><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e5eb0bf0-f3e9-4a16-bc62-7fdc2cc4613e" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,633</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cash, cash equivalents, and restricted cash; beginning of period</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_44ea9caa-b2ab-4371-800b-33f515bfc299" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,976</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d80a5356-8aa0-4694-b1fc-578e857ee069" contextRef="C_2fca67c5-3c31-4124-84cd-12c3e7566cd4" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,078</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cash, cash equivalents, and restricted cash; end of period</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f389bab5-1dec-44fe-a0b8-e99e6688c1ba" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,511</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ff67a14b-d3f5-4edf-a449-69eff79f19dc" contextRef="C_5d2411ba-6e05-4c71-9171-749f98c1a520" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,445</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"> </span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Supplemental disclosure of cash flow information:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Income taxes paid</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_48628e95-7658-4522-b2eb-5e54e6938abf" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:IncomeTaxesPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">38</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_57a33b22-f335-4d40-b79c-a7e55b4e408a" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:IncomeTaxesPaidNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">64</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Income taxes refunded</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2acef51a-0ed4-4858-bce4-30d2da5111c8" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:IncomeTaxRefundsDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">50</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5a46b59b-4db3-4904-86d9-b04b475fd8e5" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:IncomeTaxRefundsDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Supplemental disclosure of non-cash investing and financing activities:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Operating lease liabilities resulting from right-of-use assets</span></p></td>
    <td style="text-indent:20pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:20pt;text-indent:0;font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cea7e964-2498-4804-95c2-fd0595010b85" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">179</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_41acdd16-b1c3-490c-97af-f6d3c9c16a07" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrual of property and equipment</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8c29ae1c-e489-425e-b9cd-1ccf031a7c32" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b4d7f993-f540-489e-bdd3-6174ef9457c4" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued offering costs charged against proceeds from sale of common stock</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fa96c10b-32d2-4fb6-b81f-160cfc8e2be3" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="airg:OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8d3c958e-9a0e-41c7-bcdc-b01e0bd9f27e" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="airg:OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Cash, cash equivalents, and restricted cash:</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cash and cash equivalents</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ddaa9bf1-dc5e-4c13-b06d-46111d813f5d" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,416</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f39fc66e-2563-4d8f-a80a-3a5b2e224b74" contextRef="C_5d2411ba-6e05-4c71-9171-749f98c1a520" name="us-gaap:CashAndCashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,270</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Restricted cash included in prepaid expenses and other current assets and other assets long term</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_20f7c96a-91bb-4e66-a910-0fc5185e49fc" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:RestrictedCash" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">95</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a24694ea-3c9d-4777-8a25-8a8db987c4c7" contextRef="C_5d2411ba-6e05-4c71-9171-749f98c1a520" name="us-gaap:RestrictedCash" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">175</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:9pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total cash, cash equivalents, and restricted cash</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_af3e3c7f-84c2-465f-ac60-fee2a945dc0d" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,511</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-size:9pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ef872c27-8b16-4b47-a65d-227502073d74" contextRef="C_5d2411ba-6e05-4c71-9171-749f98c1a520" name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,445</ix:nonFraction></span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:9pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The accompanying notes are an integral part of these condensed consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">8</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Airgain, Inc.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="notes_to_condensed_financial_statements"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Notes to Condensed Consolidated F</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">inancial Statements</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Arial;min-width:fit-content;">(Unaudited)</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_ac890d7e-c21d-4c97-a18b-219bb0fc261e" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 1. Description of Business and Basis of Presentation</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_4c577d8d-0ad8-4ab7-a072-ac1993f2a55a" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="airg:DescriptionOfBusinessPolicyTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Description of Business</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Airgain, Inc. was incorporated in the State of California on March 20, 1995; and reincorporated in the State of Delaware on August 17, 2016. Airgain, Inc. together with its subsidiaries are herein referred to as the &#8220;Company,&#8221; &#8220;we,&#8221; or &#8220;our.&#8221; The Company is a leading provider of connectivity solutions including embedded components, external antennas, and integrated systems that enable wireless networking in the consumer, enterprise, and automotive markets. The Company&#8217;s headquarters is in San Diego, California.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_9cec2403-c3e5-4894-abbf-ed0a4a80633e" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Basis of Presentation and Principles of Consolidation</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles (GAAP) and applicable rules and regulations of the Securities and Exchange Commission (SEC) regarding interim financial reporting. Certain information and note disclosures normally included in the consolidated financial statements prepared in accordance with GAAP have been condensed or omitted pursuant to such rules and regulations. Interim financial results are not necessarily indicative of results anticipated for the full year. As such, the information included in this quarterly report on Form 10-Q should be read in conjunction with the financial statements and accompanying notes included in the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">, from which the balance sheet information herein was derived. The unaudited Condensed Consolidated Financial Statements include the accounts of the Company and its wholly owned subsidiary. All intercompany transactions and investments have been eliminated in consolidation.</span></p></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_0215ac67-4217-4cc1-b4f8-e20acca44ce1" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:SegmentReportingPolicyPolicyTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Segment Information</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company&#8217;s operations are located primarily in the United States and most of its assets are located in San Diego, California and Plymouth, Minnesota.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company operates in one segment related to providing connectivity solutions &#8211; embedded components, external antennas, and integrated systems. The Company&#8217;s chief operating decision-maker is our chief executive officer, who reviews operating results on an aggregate consolidated basis for purposes of regularly making operating decisions, allocation of resources and assessing performance as a single operating segment.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_16f4cfb2-4050-452b-a397-fbcb5ff856fe" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:UseOfEstimates" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Use of Estimates</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</span></p></ix:nonNumeric></div></ix:nonNumeric></div>
  <div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_18b29038-4ef0-4e2b-8eff-07987ac8cdff" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:SignificantAccountingPoliciesTextBlock" escape="true"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 2. Summary of Significant Accounting Policies</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">During the six months ended June 30, 2024, there have been no material changes to the Company&#8217;s significant accounting policies as described in the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_1384a40b-c3ab-4277-a6a6-d02ad5c72dd6" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:TradeAndOtherAccountsReceivablePolicy" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Trade Accounts Receivable</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">perform ongoing credit evaluations of our customers and assess each customer&#8217;s credit worthiness. The policy for determining when receivables are past due or delinquent is based on the contractual terms agreed upon. We monitor collections and payments from our customers and analyze for an allowance for credit losses. The allowance for credit losses is based upon applying an expected credit loss rate to receivables based on the historical loss rate and is adjusted for current conditions, including any specific customer collection issues identified, and economic conditions forecast. Delinquent account balances are written off after management has determined that the likelihood of collection is remote.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><ix:exclude><div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">9</span></p></div></div></ix:exclude><ix:exclude>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div></ix:exclude><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">An </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">allowance for doubtful accounts is established when, in the opinion of management, collection of the account is doubtful.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_caf97211-8024-4b6f-b947-07cb873e8e3d" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:InventoryPolicyTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Inventories</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">As of April 2022, all of the Company&#8217;s products are manufactured by third parties that retain ownership of the inventory until title is transferred to the customer at the shipping point. In some situations, the Company retains ownership of consigned inventories at third-party contract manufacturer (CM) locations due to actual or pending customers' orders. </span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">The Company recognized the consigned inventory as an asset in its financial statements</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. In certain instances, shipping terms are delivery-at-place and the Company is responsible for arranging transportation and delivery of goods ready for unloading at the named place. In those instances, the Company bears all risk involved in bringing the goods to the named place and records the related inventory in transit to the customer as inventory on the accompanying consolidated balance sheets. In the second quarter of 2022, we closed our facility located in Scottsdale, Arizona where certain of our products were previously manufactured.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Inventory is stated at the lower of cost or net realizable value. For items manufactured by our CMs, cost is determined using the weighted average cost method. For items manufactured by third parties, cost is determined using the first-in, first-out method (FIFO). Any adjustments to reduce the cost of inventories to their net realizable value are recognized in earnings in the current period. Write downs for excess and obsolete inventories are estimated based on product life cycles, quality issues, and historical experience.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_58d419a8-de01-47c8-86b1-36953e754a9f" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Property and Equipment</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Property and equipment are stated at cost and are depreciated using the straight-line method over the estimated useful lives of the assets, generally </span><span style="font-size:10pt;font-family:Arial;"><span style="-sec-ix-hidden:F_937bdce1-8050-4e4e-9c39-8107ba36c542;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">three</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_19c78d84-f786-4baf-9e66-d8ccfe6ef0c8" contextRef="C_54e3c8fa-7281-4931-af34-fe9db0bcfd04" name="us-gaap:PropertyPlantAndEquipmentUsefulLife" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">ten years</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. The estimated useful lives for leasehold improvements are determined as either the estimated useful life of the asset or the lease term, whichever is shorter. Repairs and maintenance are expensed as incurred. Property and equipment are reviewed for impairment whenever events or changes in circumstances indicate the carrying amount of an asset may not be recoverable. When assets are disposed of (or otherwise sold), the cost and related accumulated depreciation are removed from the accounts and any gain or loss on the disposal of property and equipment is classified as other expense (income) in the Company's consolidated statement of operations.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_989299e8-4c1b-4625-a95a-9c6e134d0de0" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Goodwill</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We account for our goodwill under the authoritative guidance ASC 250 for goodwill and other intangible assets and the provisions of ASU 2017-04, Simplifying the Test for Goodwill Impairment, which we early adopted in fiscal year 2020. Goodwill is not amortized but is tested for impairment annually as of December 31 or more frequently if events or changes in circumstances indicate that our goodwill might be impaired. Such circumstances may include, but not limited to (1) a decline in macro-economic conditions, (2) a significant decline in our financial performance or (3) a significant decline in the price of our common stock for a sustained period of time. We consider the aggregation of the relevant qualitative factors, and conclude whether it is more likely than not that the fair value of our reporting unit is less than the carrying value.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">If we conclude that it is more likely than not that the fair value of our reporting unit is less than the carrying value, we perform a quantitative impairment test. The quantitative impairment test compares the fair value of the reporting unit to its carrying amount, including goodwill. If the fair value of the reporting unit exceeds the carrying amount of the net assets assigned to that reporting unit, goodwill is not considered impaired. However, if the fair value of the reporting unit is lower than the carrying amount of the net assets assigned to the reporting unit, an impairment charge is recognized equal to the excess of the carrying amount over the fair value. The impairment charge is limited to the goodwill amount of the reporting unit.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Determining the fair value of a reporting unit is judgmental in nature and involves the use of significant estimates and assumptions. For the market approach of valuation, we may use the guideline public company method. Under this method we utilize information from comparable publicly traded companies with similar operating and investment characteristics as the reporting unit to derive an indication of value. For the income approach of valuation, we use a discounted cash flow methodology to derive an indication of value, which required management to make estimates and assumptions related to forecasted revenues, gross profit margins, operating income margins, working capital cash flow, income tax rates, EBITDA, perpetual growth rates, and long-term discount rates, among others. In addition, we make certain judgments and assumptions in determining our reporting unit. We base our fair value estimates on assumptions we believe to be reasonable but that are unpredictable and inherently uncertain. Actual future results may differ from those estimates.</span></p></ix:nonNumeric></div><ix:exclude><div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">10</span></p></div></div></ix:exclude><ix:exclude>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div></ix:exclude><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_5c7b8dbc-a1a4-4075-a0ea-e3566af4e0fe" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:IntangibleAssetsFiniteLivedPolicy" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Intangibles</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company&#8217;s identifiable finite-lived intangible assets are comprised of acquired intangibles, developed technologies, customer relationships and non-compete agreements. The cost of the market-related intangible assets with finite lives is amortized on a straight-line basis over the assets&#8217; respective estimated useful lives.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We assess potential impairments to our intangible assets in accordance with the authoritative guidance for impairment or disposal of long-lived assets (ASC 360) when events or changes in circumstances indicate that the carrying value may not be recoverable. We assess the impairment of long-lived and intangible assets whenever events or changes in circumstances indicate that the carrying value may not be recoverable. As a first step, we consider factors, which may include the following, but are not limited to: (1) significant underperformance relative to historical or projected future operating results; (2) significant negative industry or economic trends; or (3) a significant decline in our stock price for a sustained period.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">If this assessment indicates that the carrying value of the assets may not be recoverable, the Company is required to perform the second step to test the asset group for recoverability. This recoverability test compares the future undiscounted cash flows expected from the use of the asset group to its carrying value. If the carrying value is more than the undiscounted future cash flows, the Company is required perform a third step to determine the fair value of the asset group and compare fair value against the carrying value. Any excess carrying value over the fair value needs to be recognized as an impairment loss.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Determining the recoverability of long-lived or intangible assets is judgmental in nature and involves the use of significant estimates and assumptions. These estimates and assumptions include revenue growth rates and operating margins used to calculate projected future cash flows and the future market value of our asset group. In addition, we make certain judgments and assumptions in determining our asset group. We base our recoverability estimates on assumptions we believe to be reasonable but that are unpredictable and inherently uncertain. Actual future results may differ from those estimates.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_10c45f6b-27a3-4fa6-a9f3-d20ad3b55035" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:RevenueRecognitionPolicyTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Revenue Recognition</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Under ASC Topic 606 &#8220;Revenue from Contracts with Customers&#8221;, the Company recognize revenue when, or as the control of the promised goods or services is transferred to the customers in an amount that reflects the consideration the Company expects to be entitled in exchange for those goods or services. In applying this core principle, the Company performs the following five-steps only when it is probable that substantially all of the consideration that it will be entitled in exchange for the goods or services that will be transferred to the customer:</span></p><p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(i) identify the contract(s) with the customer,</span></p><p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(ii) identify the performance obligations in the contract,</span></p><p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(iii) determine the transaction price,</span></p><p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(iv) allocate the transaction price to the performance obligation(s) in the contract and</span></p><p style="margin-left:6.667%;text-indent:-4.478%;padding-left:4%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(v) recognize revenue when or as the entity satisfies performance obligations. A performance obligation is at a point in time, except if it meets any of the three criteria, which will require recognition of revenue over time:</span></p><div class="item-list-element-wrapper" style="margin-left:11.194%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.108889039028894%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">the customer simultaneously receives and consumes the benefit provided by the entity&#8217;s performance as the entity performs,</span></div></div><div class="item-list-element-wrapper" style="margin-left:11.194%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.108889039028894%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">the entity&#8217;s performance creates or enhances an asset (for example, work in process) that the customer controls as the asset is created or enhanced, and</span></div></div><div class="item-list-element-wrapper" style="margin-left:11.194%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.108889039028894%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">the entity's performance does not create an asset with an alternative use to the entity and the entity has an enforceable right to payment for performance completed to date.</span></div></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Most of the Company's revenue is generated from product sales and the revenue is recognized at a point-in-time when control is transferred to the customer. Each purchase order, along with existing customer agreements, when applicable, represents a contract from a customer and each product sold represents a distinct performance obligation. Revenue is recognized when control is transferred to the customer at a point in time either when the product is shipped to or received by the customer, based on the terms of the specific agreement with the customer, and the Company has an enforceable right to payment for the product. The Company allocates the transaction price, which is generally the quoted price per terms of the contract and the consideration the Company expects to receive, to each performance obligation. The Company offers return rights and/or pricing credits under certain circumstances. We estimate product returns based on historical sales and return trends and record against revenue and corresponding refund liability.</span></p><ix:exclude><div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">11</span></p></div></div></ix:exclude><ix:exclude>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div></ix:exclude><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">A portion of the Company's revenue is recognized over time, including: data subscription, test services or custom design services. Revenue from data subscription plans relate to purchased asset trackers with activated data lines, through a third-party service provider. Data subscription plan revenues are recognized monthly based on the fee stated in the contract, as the customer is simultaneously receiving and consuming the benefits provided throughout the Company's monthly performance obligation. Test service revenues are recognized monthly based on the fee stated in the contract for obligations over time on assets that the customer controls. Design service fees are paid in advance; the prepayments are deferred revenues and are recorded as contract liabilities. Most of the design service fees are recognized based on the Company's achievement of milestones. The Company's performance for the design services does not create an asset with an alternative use to the Company and the Company has an enforceable right to payment for performance completed to date. We recognize from the contract liabilities as milestones are achieved over service periods ranging from </span><span style="font-size:10pt;font-family:Arial;"><span style="-sec-ix-hidden:F_cf1b385b-7ee7-4c17-8624-172917d1a479;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">three</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> (3) to </span><span style="font-size:10pt;font-family:Arial;"><span style="-sec-ix-hidden:F_008c8ceb-a1b6-4dd4-80ba-6aa77eae877c;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">eighteen</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> (18) months.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company's contracts with customers do not typically include extended payment terms. Payment terms may vary by contract and type of customer and generally range from </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b598df30-2c19-46ae-9946-d8fdcea90a08" contextRef="C_94b0ba2c-32ea-477a-a1ae-b51a9eae7d1f" name="airg:RevenueRecognitionPaymentTerms" unitRef="U_Days" decimals="0" format="ixt:num-dot-decimal">30</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a7c323aa-c5c7-4afb-b870-1490206a9acb" contextRef="C_3969066a-c5e9-4ebd-91e6-e40a3ea55879" name="airg:RevenueRecognitionPaymentTerms" unitRef="U_Days" decimals="0" format="ixt:num-dot-decimal">90</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> days from delivery.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company provides assurance-type warranties on all product sales ranging from one to two years. The estimated warranty costs are accrued for at the time of sale based on historical warranty experience plus any known or expected changes in warranty exposure.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company has opted to not disclose the portion of revenues allocated to partially unsatisfied performance obligations, which represent products to be shipped within 12 months under open customer purchase orders, at the end of the current reporting period as allowed under ASC 606. The Company has also elected to record sales commissions when incurred, pursuant to the practical expedient under ASC 340, Other Assets and Deferred Costs, as the period over which the sales commission asset that would have been recognized is less than one year.</span></p></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_e9a52292-7591-4c3b-b4ac-8b07bb819957" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="airg:RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Shipping and Transportation Costs</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Shipping and other transportation costs expensed as incurred were </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_55f53814-e0f3-4bb4-8258-3f284f29af1c" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:CostOfGoodsAndServicesSold" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal"><ix:nonFraction id="F_b68d31b1-43b3-4bd8-a43f-296c639593c2" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:CostOfGoodsAndServicesSold" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.1</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> for each of the three months ended June 30, 2024 and 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. These costs are included in sales and marketing expenses in the accompanying consolidated statements of operations.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_5a1c064a-c988-45f9-9a00-41b714f295fc" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ResearchAndDevelopmentExpensePolicy" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Research and Development Costs</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Research and development costs are expensed as incurred.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_089e56f2-6704-490d-acd3-dccecf1b6f97" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:AdvertisingCostsPolicyTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Advertising Costs</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Advertising costs are expensed as incurred. These costs are included in sales and marketing expenses in the accompanying consolidated statements of operations.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_c6419f2c-d236-4e5f-8798-309c6996a00a" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:IncomeTaxPolicyTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Income Taxes</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company records income taxes under the asset and liability method. Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statements 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 income in the period that includes the enactment date. When applicable a valuation allowance is established to reduce any deferred tax asset when we determine that it is more likely than not that some portion of the deferred tax asset will not be realized.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company recognizes the effect of income tax positions only if those positions are more likely than not of being sustained. Recognized income tax positions are measured at the largest amount that is greater than 50% likely of being realized. Changes in recognition or measurement are reflected in the period in which the change in judgment occurs. The Company records interest related to unrecognized tax benefits in interest expense and penalties in general and administrative expenses.</span></p></ix:nonNumeric></div><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_a0a23e69-ff5a-4e5d-9a15-d1d90d75892d" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Stock-Based Compensation</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We recognize compensation costs related to stock options and restricted stock units granted to employees and directors based on the estimated fair value of the awards on the date of grant. We estimate the option grant fair values, and the resulting stock-based compensation expense, using the Black-Scholes option-pricing model. The grant date fair value of</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><ix:exclude><div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">12</span></p></div></div></ix:exclude><ix:exclude>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div></ix:exclude><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">stock-based awards are expensed on a straight-line basis over the requisite service period of the entire reward. The Company recognizes forfeitures when incurred.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The assumptions used in the Black-Scholes option-pricing model are as follows:</span></p><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Fair value of our common stock. The Company&#8217;s common stock is valued by reference to the publicly traded price of our common stock.</span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Expected term. The expected term represents the period of time stock-based awards are expected to be outstanding.</span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Expected weighted average volatility. Beginning 2022, we estimated expected volatility using solely our historical share price volatilities.</span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Risk-free interest rate. The risk-free interest rate is based on the U.S. Treasury yield in effect at the time of grant for zero coupon U.S. Treasury notes with maturities approximately equal to the expected term.</span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Expected dividend. The expected dividend is assumed to be zero as the Company has never paid dividends and have no current plans to pay any dividends.</span></div></div></ix:nonNumeric></div><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_55546005-ff60-47f7-80a5-44ad8e073e45" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:FairValueOfFinancialInstrumentsPolicy" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Fair Value Measurements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The carrying values of the Company&#8217;s financial instruments, including cash, trade accounts receivable, accounts payable, accrued liabilities and deferred purchase price obligations approximate their fair values due to the short maturity of these instruments.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Fair value measurements are market-based measurements, not entity-specific measurements. Therefore, fair value measurements are determined based on the assumptions that market participants would use in pricing the asset or liability. The Company follows a three-level hierarchy to prioritize the inputs used in the valuation techniques to derive fair values. The basis for fair value measurements for each level within the hierarchy is described below:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Level 1: Quoted prices in active markets for identical assets or liabilities. </span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Level 2: Quoted prices for similar assets or liabilities in active markets; quoted prices for identical or similar instruments in markets that are not active; and model-derived valuations in which all significant inputs are observable in active markets. </span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Level 3: Valuations derived from valuation techniques in which one or more significant inputs are unobservable in active markets.</span></div></div></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_f1dd2239-dde4-4133-a37b-cc317a89ed06" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Recently Adopted Accounting Pronouncements</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">None.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Recently Issued Accounting Pronouncements</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In November 2023, the FASB issued ASU 2023-07, &#8220;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#8221; ASU No. 2023-07 require that a public entity disclose, on an annual and interim basis, significant segment expenses that are regularly provided to an entity's chief operating decision maker (CODM), amounts and descriptions of other reportable segments, and any additional measures of a segment's profit or loss used by the CODM when deciding how to allocate resources. The ASU is applicable to entities with a single reportable segment. This ASU is effective for fiscal years beginning after December 15, 2023, and for interim periods within fiscal years beginning after December 15, 2024. Early adoption is permitted. The ASU should be applied retrospectively to all prior periods presented in the financial statements. The Company will evaluate the ASU to determine its impact on the Company&#8217;s disclosures. The Company does not expect adoption to have a material impact on its consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In December 2023, the FASB issued ASU 2023-09, "Income Taxes (Topic 740): Improvements to Income Tax Disclosures.". ASU No. 2023-09 requires expanded disaggregated information about a reporting entity&#8217;s effective tax rate reconciliation as well as disclosure of income taxes paid by jurisdiction. The amendments in ASU are effective for fiscal years beginning after December 15, 2024 with early adoption permitted. Retrospective application of the amendments are permitted. The Company will evaluate the ASU to determine its impact on the Company&#8217;s disclosures. As the amendments apply to income tax disclosures only, the Company does not expect adoption to have a material impact on its consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In March 2024, the FASB issued ASU 2024-02, "Codification Improvements&#8212;Amendments to Remove References to the Concepts Statements." ASU No. 2024-02 removes various references to concepts statements from the FASB Accounting</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><ix:exclude><div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">13</span></p></div></div></ix:exclude><ix:exclude>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div></ix:exclude><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Standards Codification. The ASU indicates that the goal of the amendments is to simplify the Codification and distinguish between non-authoritative and authoritative guidance since, unlike the Codification, the concepts statements are non-authoritative. The amendments in ASU are effective for fiscal years beginning after December 15, 2024 with early adoption permitted. Retrospective application of the amendments are permitted. The Company will evaluate the ASU to determine its impact on the Company&#8217;s disclosures. The Company does not expect adoption to have a material impact on its consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We have assessed all other ASUs issued but not yet adopted and concluded that those not disclosed are not relevant to the Company or are not expected to have a material impact.</span></p></ix:nonNumeric></div></ix:nonNumeric></div>
  <div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_66a0f515-189f-4d03-ae5f-76f4d88c8a2f" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:EarningsPerShareTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 3. Net Loss Per Share</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Basic net loss per share is calculated by dividing net loss available to common stockholders by the weighted average shares of common stock outstanding for the period. Diluted net loss per share is calculated by dividing net loss by the weighted average shares of common stock outstanding for the period plus amounts representing the dilutive effect of securities that are convertible into common stock. The Company calculates diluted loss per common share using the treasury stock method.</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_60ee1f41-89dc-4ed4-b5b2-628d0c739994" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table presents the computation of net loss per share (in thousands except per share data)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:43.509%;"/>
        <td style="width:1.56%;"/>
        <td style="width:1%;"/>
        <td style="width:10.562%;"/>
        <td style="width:1%;"/>
        <td style="width:1.56%;"/>
        <td style="width:1%;"/>
        <td style="width:10.562%;"/>
        <td style="width:1%;"/>
        <td style="width:1.56%;"/>
        <td style="width:1%;"/>
        <td style="width:10.562%;"/>
        <td style="width:1%;"/>
        <td style="width:1.56%;"/>
        <td style="width:1%;"/>
        <td style="width:10.562%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Numerator:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net loss</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_def150f6-0c70-4371-a5be-b2c24061a178" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,513</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2d87afc0-5bfc-4bb9-8228-4e2d6baff4a0" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2,205</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_db2e0c4c-b2ea-41a1-b255-88456d6b60de" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">4,968</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8032a0db-8632-4ae9-b656-1477735d5b85" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:NetIncomeLoss" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">5,063</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Denominator:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Basic weighted average common shares outstanding</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3779789d-ede2-479e-a74e-ebca4f68634b" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,938</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d493c832-87a2-4078-a61d-f161b49eed96" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,413</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cac6ae80-6a87-4e0e-a82d-ebdbd31e7f40" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,736</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2e5c94b3-58a7-4e0b-b386-ec3bc373a200" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,340</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Plus dilutive effect of potential common shares</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2568b32a-9efa-4d1d-a031-f1e9afad1ea0" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" unitRef="U_shares" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e7bfa7e4-c1d8-4c5f-9356-19977695c563" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" unitRef="U_shares" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_101ff9b4-68bd-4fa9-a418-a8598aa72c78" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" unitRef="U_shares" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9703f9e6-244a-45d0-90a6-4c614e2918ad" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" unitRef="U_shares" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Diluted weighted average common shares outstanding</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2d52178c-b5e9-4f4a-9c74-58fcfefdf8cb" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,938</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8ce18d1b-598b-47e7-9934-ef6089473a88" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,413</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_692f4fb5-0c39-4b87-99a9-5829d3c6183e" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,736</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b9c25384-1a84-4f16-893f-e8233a898490" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,340</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Net loss per share:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Basic</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_27e2be27-830a-4c81-8d33-447828bd2a92" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:EarningsPerShareBasic" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.23</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8da8c238-4faf-459b-a40a-0f38889257b7" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:EarningsPerShareBasic" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.21</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bc740ff0-d567-4039-9796-6fe68a720600" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:EarningsPerShareBasic" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.46</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b809cf9d-9a0d-4f07-9dae-f1e7fffe0ddb" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:EarningsPerShareBasic" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.49</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Diluted</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e046042f-a42c-4ddd-bf10-0bf4435652a7" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:EarningsPerShareDiluted" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.23</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1092033f-8f2f-4750-af3d-dd0ebce5f8fc" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:EarningsPerShareDiluted" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.21</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_64988169-4d54-44d1-bed3-1d29ac0957cb" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:EarningsPerShareDiluted" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.46</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_adcd8000-2938-45dd-92a9-781351cf7ca3" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:EarningsPerShareDiluted" unitRef="U_USDollarShare" scale="0" decimals="2" sign="-" format="ixt:num-dot-decimal">0.49</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_9cd7a9e2-c8fe-4c5e-ae3f-98eecf957491" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Potentially dilutive securities (in common stock equivalent shares) not included in the calculation of diluted net loss per share because to do so would be anti-dilutive are as follow</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">s (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:43.509%;"/>
        <td style="width:1.16%;"/>
        <td style="width:1%;"/>
        <td style="width:10.962%;"/>
        <td style="width:1%;"/>
        <td style="width:1.16%;"/>
        <td style="width:1%;"/>
        <td style="width:10.962%;"/>
        <td style="width:1%;"/>
        <td style="width:1.16%;"/>
        <td style="width:1%;"/>
        <td style="width:10.962%;"/>
        <td style="width:1%;"/>
        <td style="width:1.16%;"/>
        <td style="width:1%;"/>
        <td style="width:10.962%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Stock options, restricted stock and performance stock</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_20911890-8714-4312-8fcc-c91efcee02a6" contextRef="C_002c4ee5-9ad4-43a9-900c-08812d50ebb4" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,387</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ca1a4733-b31f-4e77-98b3-475c3c1e82b7" contextRef="C_3fe87f98-e239-4ec7-b535-be91491d7428" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,413</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_726113c1-e193-4f69-9a66-ef12a6f8d511" contextRef="C_cd95ca01-4f9d-47aa-9933-babfe3662b3b" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,443</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d73e030e-24cb-4703-84a0-25a82b0c7894" contextRef="C_45ad0116-9b99-4c93-a4f2-6e632d0cb996" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,369</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock equivalent shares</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a7ae03b1-c083-44b8-b6dd-9573df2facc2" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,387</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_274a08cb-bb75-4124-a401-3cafc45fa743" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,413</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6c05a3f8-705b-42b9-a662-16502bae4515" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,443</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d39eb713-e204-4aa4-9851-3bac2dc5622a" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,369</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_57c39a92-9777-48ec-93b3-9be4f0297ac8" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 4. Cash and Cash Equivalents</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_c2182b70-5dc5-4567-91f8-2fb33a9081cf" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following tables show the Company&#8217;s cash and cash equivalents by significant investment category </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:55.151%;"/>
        <td style="width:2.3%;"/>
        <td style="width:1%;"/>
        <td style="width:18.124%;"/>
        <td style="width:1%;"/>
        <td style="width:2.3%;"/>
        <td style="width:1%;"/>
        <td style="width:18.124%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cash</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e50d9587-f998-4a40-8082-6f3353354804" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:Cash" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,316</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_961fe3e5-fc31-4649-8583-9e2f16298e3a" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:Cash" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,581</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Level 1:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Money market funds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_272a86cd-6ca7-49b8-b32c-5b59a03ef045" contextRef="C_d9e87829-3307-4f50-81a6-612078b9ce93" name="us-gaap:CashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">100</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_69ab2b58-6b07-4f20-bee5-07df8a0cef6d" contextRef="C_10985b53-06bb-4478-8d0f-35be935ef4b2" name="us-gaap:CashEquivalentsAtCarryingValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">300</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9a79d11a-ef46-4be7-abc3-d8d91738dc56" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="airg:CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,416</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b21a02f7-c37b-45a4-8a94-c73389c1ba0a" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="airg:CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,881</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><ix:exclude><div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">14</span></p></div></div></ix:exclude><ix:exclude>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Restricted Cash</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">As of June 30, 2024 and December 31, 2023, the Company had </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a3a2f508-4d60-41df-a389-6e64c5bbd909" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:RestrictedCashEquivalents" unitRef="U_USD" decimals="0" format="ixt:num-dot-decimal"><ix:nonFraction id="F_3bc39413-c77b-4039-957e-58a8d007bc29" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:RestrictedCashEquivalents" unitRef="U_USD" decimals="0" format="ixt:num-dot-decimal">95,000</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> in cash on deposit to secure certain lease commitments; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_20da6fee-8ab9-4151-b40d-cacf740be566" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:RestrictedCashAndCashEquivalents" unitRef="U_USD" decimals="0" format="ixt:num-dot-decimal"><ix:nonFraction id="F_fb62f82a-0657-4424-b375-b92967f39b82" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:RestrictedCashAndCashEquivalents" unitRef="U_USD" decimals="0" format="ixt:num-dot-decimal">40,000</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> of which is short-term in nature and recorded in prepaid expenses and other current assets and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_16f0a21d-42d3-41b4-946c-43657f24b09f" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:PrepaidExpenseAndOtherAssetsNoncurrent" unitRef="U_USD" decimals="0" format="ixt:num-dot-decimal"><ix:nonFraction id="F_3fef1964-8f5c-41ec-b9c4-797e4f9a527b" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:PrepaidExpenseAndOtherAssetsNoncurrent" unitRef="U_USD" decimals="0" format="ixt:num-dot-decimal">55,000</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> of which is restricted for more than twelve months and recorded in other assets in the Company&#8217;s consolidated balance sheet.</span></p></ix:nonNumeric></div>
  <div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_79b1d27e-2310-453d-abe0-7fdec246c6cb" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:InventoryDisclosureTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 5. Inventory</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_0dbdc7eb-8d90-4c8d-afa2-1329085b7687" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="airg:ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Inventories are comprised of the following (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49.34%;"/>
        <td style="width:6.28%;"/>
        <td style="width:1%;"/>
        <td style="width:19.22%;"/>
        <td style="width:1%;"/>
        <td style="width:1.84%;"/>
        <td style="width:1%;"/>
        <td style="width:19.32%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Raw materials</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_91163f43-1e25-47df-8263-357c7f910f13" contextRef="C_c7b51bbf-4036-496f-b649-0a51a6f2430a" name="us-gaap:InventoryRawMaterialsAndSupplies" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">487</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a97d8db8-6c68-49d6-9280-2adaaf9dd23b" contextRef="C_b1218745-a548-435b-8858-f81a78fcd512" name="us-gaap:InventoryRawMaterialsAndSupplies" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">661</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Finished goods</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8ee4b461-6bc6-49e8-a7de-e7d8f9e780e4" contextRef="C_c7b51bbf-4036-496f-b649-0a51a6f2430a" name="us-gaap:InventoryFinishedGoods" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,657</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8060f375-6867-4740-9cb2-5d68adf40ab0" contextRef="C_b1218745-a548-435b-8858-f81a78fcd512" name="us-gaap:InventoryFinishedGoods" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,742</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total Inventory</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_deb1b7c9-23f1-4c09-a033-085c5cd19858" contextRef="C_c7b51bbf-4036-496f-b649-0a51a6f2430a" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,144</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f07356e4-4a83-4125-a50f-8a50137f36ff" contextRef="C_b1218745-a548-435b-8858-f81a78fcd512" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,403</ix:nonFraction></span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Consigned inventories, which are included in total inventories, are comprised of the following (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49.46%;"/>
        <td style="width:6.04%;"/>
        <td style="width:1%;"/>
        <td style="width:19.4%;"/>
        <td style="width:1%;"/>
        <td style="width:1.72%;"/>
        <td style="width:1%;"/>
        <td style="width:19.38%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Raw materials</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_18973a9c-3d81-480f-bb50-e57f04d25f14" contextRef="C_cad2f106-8993-4864-8850-b5761cd56414" name="us-gaap:InventoryRawMaterialsAndSupplies" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">459</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_acea00b0-fb3b-4f06-9857-a94c5d78faaf" contextRef="C_e2ee1d69-1df5-4dbe-ad5e-89d1d5f0cb18" name="us-gaap:InventoryRawMaterialsAndSupplies" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">558</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Finished goods</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_653dbbf7-0dbd-4f8c-a46b-76e3364280d3" contextRef="C_cad2f106-8993-4864-8850-b5761cd56414" name="us-gaap:InventoryFinishedGoods" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,508</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_496d4e66-4f68-40a7-a220-d8e46e9c25df" contextRef="C_e2ee1d69-1df5-4dbe-ad5e-89d1d5f0cb18" name="us-gaap:InventoryFinishedGoods" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">598</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total Consigned Inventory</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6d2ae124-a8be-4bdc-9243-8cd7f2c185ce" contextRef="C_cad2f106-8993-4864-8850-b5761cd56414" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,967</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_98a96753-e9ad-4e14-ba58-3ebefa0acb21" contextRef="C_e2ee1d69-1df5-4dbe-ad5e-89d1d5f0cb18" name="us-gaap:InventoryNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,156</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <div><ix:nonNumeric id="F_13f2fb37-ee47-4540-abe2-cbde61e36881" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 6. Property and Equipment</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Depreciation and amortization of property and equipment is calculated on the straight-line method based on the shorter of the estimated useful life or the term of the lease for tenant improvements and three to ten years for all other property and equipment. </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_33cdf038-a2f5-4f3c-8c38-ff4a0a7ef625" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:PropertyPlantAndEquipmentTextBlock" escape="true" continuedAt="F_33cdf038-a2f5-4f3c-8c38-ff4a0a7ef625_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Property and equipment consist of the following (in thousands)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">:</span></ix:nonNumeric></span></p><div style="font-size:10pt;font-family:Arial;"><ix:continuation id="F_33cdf038-a2f5-4f3c-8c38-ff4a0a7ef625_1"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:61%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:16.12%;"/>
        <td style="width:1%;"/>
        <td style="width:2%;"/>
        <td style="width:1%;"/>
        <td style="width:15.88%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Manufacturing and testing equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_15f299d3-fe43-4ec8-a63f-feab3744137a" contextRef="C_f18ff514-9b71-47b3-a852-bdc092deb181" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,507</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f17575a-58bd-4b1e-a1a2-cc022e07cbe8" contextRef="C_c3558740-5177-4303-925a-741d67251b64" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,371</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Leasehold improvements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_278b4e38-d1e8-4d6c-bac1-a60c2f863530" contextRef="C_74f8e6e7-cb0d-4dc0-adb4-e8d589f85fd2" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">848</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5dd5084c-e192-4807-966b-9a7d3181b122" contextRef="C_a7de98d0-f87d-4aed-bbbc-55335506faeb" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">848</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Computers and software</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4a6031b6-3f4c-4fc2-840d-3b5aaf738f62" contextRef="C_1f06fa80-da98-4168-83d9-fd00ba7c309d" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">550</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_04dffba8-b383-42fe-8093-bb14498a9f51" contextRef="C_1f7cd16b-5932-40b4-965b-574b1c66ea26" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">811</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Furniture, fixtures, and equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e4666b4d-f038-473c-b3d8-b5cd9373a724" contextRef="C_32900feb-cb63-4ffc-983d-11813814d34e" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">427</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_98d10184-4ea6-4eaf-b7f4-c01102f08366" contextRef="C_976ca171-b836-4a71-a94e-1b3170ade920" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">427</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Vehicles</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_38400a9d-2f5e-4574-9a0b-04ba908b3bb2" contextRef="C_04b64740-56af-4312-9a6c-2a8ec8130d7f" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">55</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_702af361-7b7f-43b7-84b0-f009e9471cb2" contextRef="C_e62c79c8-aad7-473f-ae37-eb4df80fca2e" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">55</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Construction in process</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_18bf91b6-7095-476b-9e1d-d245eea7d8b9" contextRef="C_fc54f691-20ce-46f0-8746-2c0b4b77f54b" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bd94953f-fd82-4ae7-88f1-8c1a80375c20" contextRef="C_080f94c2-9831-4b0b-a458-2967a24b61c5" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">45</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Property and equipment, gross</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3b9ecd2f-d874-4c4d-b67d-a8165969cdd4" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,417</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4d7db8de-b075-4ce5-8a02-216c4fed4938" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:PropertyPlantAndEquipmentGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,557</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Less accumulated depreciation</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_194c9d59-c743-4d92-a4e3-c568c965940c" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,197</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_177007bb-bddb-4c04-bd24-11a7dcd5cddc" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,050</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Property and equipment, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0d1c683-6f1e-4692-be88-f9d9b9a98528" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,220</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7476b0b8-0485-4548-816c-cb0d9ec70e7e" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:PropertyPlantAndEquipmentNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,507</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:continuation></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Depreciation expense was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0d73821f-338c-425a-9dbf-2eb3ed7bb142" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:Depreciation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4baf1ee6-c706-4ec4-9828-ba3d30af6082" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:Depreciation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million for the three months ended June 30, 2024 and 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">, respectively.</span></p></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_3860d13c-e173-4edc-b95f-a0f6886147c7" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 7. Intangible Assets and Goodwill</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Other Intangible Assets</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_be8d9d0a-2346-42be-9bc2-36e92b6c6779" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following is a summary of the Company&#8217;s acquired other</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> intangible assets (dollars in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:29.7%;"/>
        <td style="width:2%;"/>
        <td style="width:17.32%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:14.76%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:14.12%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:13.1%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="12" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Weighted average amortization period (in years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Gross carrying amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Accumulated amortization</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Net carrying amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Market related intangibles</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><ix:nonNumeric id="F_1451c49c-53c5-4715-8080-26d42c31b6d4" contextRef="C_de43bcee-a258-444f-bdd6-df8b22af0192" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0acb443f-8ba7-4b5a-b8c1-3c809e4082d3" contextRef="C_de43bcee-a258-444f-bdd6-df8b22af0192" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,820</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fd037d3d-60cf-4d0b-b5c6-e2adf381fc4e" contextRef="C_de43bcee-a258-444f-bdd6-df8b22af0192" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,304</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b36bf755-37eb-4261-bfb3-68c4fbfbd42b" contextRef="C_de43bcee-a258-444f-bdd6-df8b22af0192" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">516</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><ix:nonNumeric id="F_0e59f03c-38d7-4cf6-8fb4-5b23499d8f78" contextRef="C_748226f9-cdbd-4102-bf2d-ef43cd5a1fff" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_780d54e4-5950-4429-975b-4ee92a84e35e" contextRef="C_748226f9-cdbd-4102-bf2d-ef43cd5a1fff" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,780</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_667e0d3e-c05a-4f9f-8a1c-9fb1a247164f" contextRef="C_748226f9-cdbd-4102-bf2d-ef43cd5a1fff" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">10,130</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_647de716-8d84-4eb2-8792-75e6bfc94ac3" contextRef="C_748226f9-cdbd-4102-bf2d-ef43cd5a1fff" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,650</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Developed technologies</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><ix:nonNumeric id="F_7c24690f-7d79-4b23-a602-c64169db6200" contextRef="C_fe906bb9-5790-4cb8-9fc5-b5569132b0cc" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97fef016-0a5a-4082-8e8a-5fad00479922" contextRef="C_fe906bb9-5790-4cb8-9fc5-b5569132b0cc" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,380</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8c8269a-eb90-45e9-8fc4-4b513130ed41" contextRef="C_fe906bb9-5790-4cb8-9fc5-b5569132b0cc" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,795</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_93ed806a-3e25-4218-a65e-11923f319cce" contextRef="C_fe906bb9-5790-4cb8-9fc5-b5569132b0cc" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,585</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Covenants to non-compete</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><ix:nonNumeric id="F_e98e4a90-2d9c-4008-bf04-e6e2f1a0a499" contextRef="C_082140e5-b0f6-48a7-ad76-9b55d9594f79" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fc8ca286-66ef-41fe-959f-d4b2033e16f2" contextRef="C_082140e5-b0f6-48a7-ad76-9b55d9594f79" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_238665fa-d40f-4c87-80b8-9a6e57d9b22c" contextRef="C_082140e5-b0f6-48a7-ad76-9b55d9594f79" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c0d8223f-29fc-4f6d-832b-5a1a7cb77b5b" contextRef="C_082140e5-b0f6-48a7-ad76-9b55d9594f79" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total intangible assets, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bdfcfb5b-6309-43f0-ae6d-8566c9e8a1bd" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,095</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_02438afb-aebe-45fe-ab54-c22705965971" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,344</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_53b51acc-e100-4dfb-9d8f-31535c55495e" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,751</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><ix:exclude><div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">15</span></p></div></div></ix:exclude><ix:exclude>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div></ix:exclude><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:31%;"/>
        <td style="width:1%;"/>
        <td style="width:17%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:14.34%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:14%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:13.66%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="12" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Weighted average amortization period (in years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Gross carrying amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Accumulated amortization</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Net carrying amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Market related intangibles</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><ix:nonNumeric id="F_028b35cb-2f1d-493e-9ef2-ccdcd8cdba20" contextRef="C_480ad527-3492-4e13-869f-57533d7af10f" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_465e0756-1fde-46e9-9196-cbf36559b371" contextRef="C_480ad527-3492-4e13-869f-57533d7af10f" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,820</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8de9498a-131b-4bbf-8547-8556dd0d2eb2" contextRef="C_480ad527-3492-4e13-869f-57533d7af10f" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,135</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_abe85fa6-517d-446a-aab6-26eb86872b2d" contextRef="C_480ad527-3492-4e13-869f-57533d7af10f" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">685</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><ix:nonNumeric id="F_21b1253e-0a88-49bf-9451-e30bc5bbd48b" contextRef="C_a2b3b19c-2261-47e7-9722-24a11aa4ce75" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3febbc94-72cb-4bd8-b1f6-698b17e05b1f" contextRef="C_a2b3b19c-2261-47e7-9722-24a11aa4ce75" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">13,780</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b118d2f5-a561-4c9b-94fb-86f84d62d161" contextRef="C_a2b3b19c-2261-47e7-9722-24a11aa4ce75" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,993</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_39e6f38c-9aa5-424a-a994-04a33f7acfe4" contextRef="C_a2b3b19c-2261-47e7-9722-24a11aa4ce75" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,787</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Developed technologies</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><ix:nonNumeric id="F_a5ac9ccd-4ee5-4559-9eca-741bc46169e3" contextRef="C_690fe95f-91a2-467c-989b-6dadb97f55d2" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7a9a1309-f809-4625-89c0-65a648426640" contextRef="C_690fe95f-91a2-467c-989b-6dadb97f55d2" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,380</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fa8feca9-4247-4a41-8262-b33d66971065" contextRef="C_690fe95f-91a2-467c-989b-6dadb97f55d2" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,618</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7719d4d5-1447-408f-947a-d7ea3e9209e0" contextRef="C_690fe95f-91a2-467c-989b-6dadb97f55d2" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,762</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Covenants to non-compete</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><ix:nonNumeric id="F_9b5233f6-5b13-431a-ac2e-17c5ae6d793e" contextRef="C_341efb3e-fe01-4b72-847e-336c78246d89" name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2</span></ix:nonNumeric></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a5303588-53dd-4c4a-95d6-19b24e31d644" contextRef="C_341efb3e-fe01-4b72-847e-336c78246d89" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b6289496-db7f-494b-9b0a-f2826b30a2ae" contextRef="C_341efb3e-fe01-4b72-847e-336c78246d89" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_555f9310-f45c-4f62-9160-85666bd34a76" contextRef="C_341efb3e-fe01-4b72-847e-336c78246d89" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total intangible assets, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e303b0ec-e2b2-43ea-bd7a-7dad5fd33079" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:FiniteLivedIntangibleAssetsGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">20,095</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8d511ea1-50a5-49d8-9891-80f0aa89c5b3" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,861</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_37113799-ed5e-4c77-a820-aff4dad163d9" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,234</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Amortization expense was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9c87e8d1-f3b8-4681-8e5e-6783f0efb5ed" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:AmortizationOfIntangibleAssets" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal"><ix:nonFraction id="F_bb265583-eede-4f74-b10a-da624d6f8dcd" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:AmortizationOfIntangibleAssets" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.7</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> for each of the three months ended June 30, 2024 and 2023.</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_0cda884c-a03b-4d7d-87a2-44f49ac65d7f" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Estimated annual amortization of intangible assets for the next five years and thereafter is shown in the foll</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">owing table (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.22%;"/>
        <td style="width:3.1%;"/>
        <td style="width:1%;"/>
        <td style="width:30.68%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Estimated future amortization</span></p></td>
        <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2024 (remaining six months)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_71cd621e-0d12-48be-a47e-783766fee39a" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,484</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2025</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3194e8c2-9390-40de-8c9d-73ec1a2ea1a8" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,958</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2026</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a3560666-a53f-4e96-9f58-25a830a2f7fb" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">557</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2027</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_bbc4405b-abae-4c09-9258-7b96ef334c5e" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">356</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Thereafter</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9424a128-6c56-412e-99b8-1a5c473540a1" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,396</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e020265e-a2d5-4495-8122-01326259e6c7" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:FiniteLivedIntangibleAssetsNet" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,751</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Actual amortization expense to be reported in future periods could differ from these estimates as a result of acquisitions, divestitures, and asset impairments, among other factors.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ff982639-3516-4fea-a509-8588d24188d8" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt-sec:numwordsen"><ix:nonFraction id="F_8517700d-ccc4-4fe6-96ed-6b727287d807" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill" unitRef="U_USD" scale="3" decimals="-3" format="ixt-sec:numwordsen">No</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> impairment losses were recorded against the other intangibles during each of the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">three months ended June 30, 2024 and 2023.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">During the fourth quarter of 2023 and second quarter of 2024, the Company determined that there were no triggering events or circumstances to indicate that the carrying value of the finite-lived asset group may not be recoverable. Based on the assessment performed, we concluded that an impairment charge to finite-lived intangible assets was not required as of December 31, 2023 and June 30, 2024 and the useful lives remain appropriate.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Goodwill</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7ed4173c-9710-49d6-9280-c710658f4a89" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:GoodwillImpairmentLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt-sec:numwordsen"><ix:nonFraction id="F_d0034c06-b827-4a35-9332-6e51da5c3e5b" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:GoodwillImpairmentLoss" unitRef="U_USD" scale="3" decimals="-3" format="ixt-sec:numwordsen">No</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> impairment losses were recorded against the goodwill during the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">three months ended June 30, 2024 and 2023.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">During the fourth quarter of 2023 and second quarter of 2024, the Company's current and expected cash flows, and the macro-economic and industry conditions have not significantly changed, while the Company&#8217;s market capitalization materially increased since December 31, 2023. After assessing the totality of events or circumstances, the Company determined that there were no events or circumstances in the fourth quarter of 2023 and second quarter of 2024 that indicated that the fair value of a reporting unit is more likely than not less than its carrying amount. Therefore, an impairment charge to goodwill was not required as of December 31, 2023 and June 30, 2024.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Certain future events and circumstances could result in changes to our assumptions and judgments used in the impairment tests. A downward revision of these assumptions could cause the total fair value of our goodwill and intangible assets to fall below carrying values and a non-cash impairment charge would be required. Such a charge may have a material effect on the consolidated financial statements.</span></p></ix:nonNumeric></div>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">16</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_38d973a0-3700-4e09-be8f-03d5d4a1063e" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">No</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">t</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">e 8. Accrued Liabilities and Other</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_70df0960-3b27-4abc-b1ec-32f51432e7e2" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Accrued liabilities and other is comprised of the follo</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">wing (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:55.32%;"/>
        <td style="width:1.14%;"/>
        <td style="width:1%;"/>
        <td style="width:16.82%;"/>
        <td style="width:1%;"/>
        <td style="width:1.14%;"/>
        <td style="width:1%;"/>
        <td style="width:21.58%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued expenses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c423f9ed-bb6c-4445-a9a2-69b9afb3d919" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:OtherAccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,150</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d7062b82-2e8a-4183-8c58-67ae920c7c19" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:OtherAccruedLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,031</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">VAT payable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c804f835-74b7-498e-936e-b1c83cf3eb20" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:SalesAndExciseTaxPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_76d3442c-7a4c-4651-8cea-bd81cd77f2c3" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:SalesAndExciseTaxPayableCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">339</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued income taxes</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cfb92c22-c18c-4e3e-bfb7-20175620402d" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:AccruedIncomeTaxesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">38</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_85e425f4-84ec-4924-82e1-3fad699f3a86" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:AccruedIncomeTaxesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">145</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Advanced payments from contract manufacturers</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_72bd8032-2f2a-4322-b508-3817b09a2c02" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="airg:AdvancedPaymentsFromContractManufacturers" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e466293b-8933-4fe2-8426-99b945bbce0b" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="airg:AdvancedPaymentsFromContractManufacturers" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Contract liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7948a893-f932-4315-bdc9-05fa8adff036" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="airg:ContractLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e5e62c64-0b79-4477-99f2-9232beffd817" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="airg:ContractLiabilitiesCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Goods received not invoiced</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f1f37cd6-9a7c-419f-8427-0b033c52e0ae" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="airg:GoodsReceivedNotInvoiced" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">883</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c6a1b886-262e-49e1-8333-bfe15efd776f" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="airg:GoodsReceivedNotInvoiced" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">185</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Other current liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e30215e2-78d1-4106-a01f-749dfcc9fd09" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:OtherLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">186</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a9e16036-ec79-452f-824f-04cea51f6772" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:OtherLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">209</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued liabilities and other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c5c701fd-bd63-4d48-a72c-68a676f0e0a0" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,287</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e7f96ebe-003e-4de0-8637-a15a55efe459" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:AccruedLiabilitiesAndOtherLiabilities" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,926</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_1ca148ce-e817-4703-86df-5027b240a747" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:LesseeOperatingLeasesTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 9. Leases</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Operating Leases</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company made certain assumptions and judgments when applying ASC 842 and it elected not to recognize right-of-use assets and lease liabilities for short-term leases (lease terms of twelve months or less).</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Operating lease arrangements primarily consist of office, warehouse and test house leases expiring during different years through </span><span style="font-size:10pt;font-family:Arial;"><span style="-sec-ix-hidden:F_c9121012-3123-46d1-bae5-a4da06668ebe;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">2025</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. The facility leases have original terms of approximately </span><span style="font-size:10pt;font-family:Arial;"><span style="-sec-ix-hidden:F_cc054951-6da5-4631-b3a8-345e431eada7;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">one </span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">to </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_aadbc9d4-3a13-4a08-8406-13b27edd2172" contextRef="C_54e3c8fa-7281-4931-af34-fe9db0bcfd04" name="us-gaap:LessorOperatingLeaseTermOfContract" format="ixt-sec:durwordsen"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">five years</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> and may contain options to extend up to </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_5cb6020a-141e-4320-acad-6d5723b2f4d1" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:LesseeOperatingLeaseOptionToExtend"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">5 years</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> and/or terminate early. Options to extend are included in leased right-of-use assets and lease liabilities in the consolidated balance sheet when we are reasonably certain to renew a lease. Since the implicit rate of such leases is unknown and we may not be reasonably certain to renew leases, the Company elected to apply a collateralized incremental borrowing rate to facility leases on the original lease term in calculating the present value of future lease payments. As of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">June 30, 2024 and December 31, 2023, the weighted average discount rate for operating leases were </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e95eff63-45d9-43de-8a0c-07e8707d03b5" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">4.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> and </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e01649b0-df7d-43e0-973a-a4153a49c4e2" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">3.8</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">, respectively. As of June 30, 2024 and December 31, 2023, the weighted average remaining lease term for operating leases was </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_4564870f-f79b-4bdf-9b7f-28675d2e5e68" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">1.4</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> years and </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_b80820db-5c0a-46f7-a7de-294aae9c5de9" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">1.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">years, respectiv</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">ely.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company has entered into various short-term operating leases, primarily for test houses and office equipment with initial terms of 12 months or less. These short-term leases are not recorded on the Company&#8217;s consolidated balance sheet, and the related short-term lease expense was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1e694a38-7d60-48a4-90ed-d8c1893350d5" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:ShortTermLeaseCost" unitRef="U_USD" decimals="0" format="ixt:num-dot-decimal">13,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ff616a48-a805-4ca6-a3c6-4a2e84813a26" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:ShortTermLeaseCost" unitRef="U_USD" decimals="0" format="ixt:num-dot-decimal">27,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">, for the three months ended June 30, 2024 and 2023, respectively. Total operating lease cost was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c4848ffb-0907-4471-a5f8-cba83b15a793" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:OperatingLeaseCost" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal"><ix:nonFraction id="F_b7ec0c1d-b2dd-4d4b-8f9a-9739064cf39e" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:OperatingLeaseCost" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.2</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million for each of the three months ended June 30, 2024 and 2023.</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_941a1d2a-e226-4ee7-b845-84f7c31eb1c5" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="airg:ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The table below presents aggregate future minimum payments due under leases, reconciled to lease liabilities included in the consolidated balance sheet as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">June 30, 2024 (in thousands):</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.233%;"/>
        <td style="width:6.641%;"/>
        <td style="width:1%;"/>
        <td style="width:25.125%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Estimated future lease obligation</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2024 (remaining six months)</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_074cd570-980d-4e92-9506-2f1e5a1df574" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">471</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2025</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_18159f4b-c408-4e87-a3f6-fe629f332d37" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">785</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2026</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6b403194-27bb-43bb-8153-3862a84382a2" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">36</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total minimum payments</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5c7f05ec-f1f5-40ea-a528-6617468d73c2" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,292</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Less imputed interest</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f20ead6-b183-48d9-a2d3-a27cfe6d35a3" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">39</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Less unrealized translation gain</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_491f7730-1eb8-4283-a961-a020fb388238" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="airg:UnrealizedTranslationGain" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">2</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total lease liabilities</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7f9eb500-671d-4c31-bee2-62719edb362f" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:OperatingLeaseLiability" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,251</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Less short-term lease liabilities</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ccde4a52-6d51-4a12-b78d-bcffd8b9194f" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:OperatingLeaseLiabilityCurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">881</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Long-term lease liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_99ad0e6a-fc0b-4e65-9755-12be1095ca74" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:OperatingLeaseLiabilityNoncurrent" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">370</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_39f97a8a-9bf4-423a-bd9a-00201f07f79e" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:IncomeTaxDisclosureTextBlock" escape="true"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 10. Income Taxes</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company&#8217;s effective income tax rate was </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1a07f199-caeb-4a5b-a5a4-83ed8b3c9931" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">2.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">-</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a885e1e6-f916-42b7-bf75-b13eaa9ec7f0" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" unitRef="U_pure" scale="-2" decimals="3" sign="-" format="ixt:num-dot-decimal">1.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> for the six months ended June 30, 2024 and 2023, respectively. The variance from the U.S. federal statutory rate of </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_875ecbee-4224-4d14-ba30-1de0f7cc5785" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" unitRef="U_pure" scale="-2" decimals="3" format="ixt:num-dot-decimal">21.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> for the six months ended June 30, 2024 was primarily attributable to the utilization of deferred tax attributes that had a full valuation allowance.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Management assesses its deferred tax assets quarterly to determine whether all or any portion of the asset is more likely than not unrealizable under Accounting Standards Codification (ASC) Topic 740. The Company is required to establish a valuation allowance for any portion of the asset that management concludes is more likely than not to be unrealizable.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><ix:exclude><div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">17</span></p></div></div></ix:exclude><ix:exclude>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div></ix:exclude><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible. The Company&#8217;s assessment considers all evidence, both positive and negative, including the nature, frequency and severity of any current and cumulative losses, taxable income in carryback years, the scheduled reversal of deferred tax liabilities, tax planning strategies, and projected future taxable income in making this assessment.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">As of December 31, 2023, the Company had a valuation allowance against net deferred tax assets of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"><ix:nonFraction id="F_5ff6c562-1491-421d-b920-37fa557fac6d" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:DeferredTaxAssetsLiabilitiesNet" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">14.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million, however, the exclusion of a deferred tax liability generated by goodwill (an indefinite lived intangible) may not be considered a future source of taxable income in evaluating the need for a valuation allowance.</span></p></ix:nonNumeric></div>
  <div><ix:nonNumeric id="F_3fe4ec32-fb1c-4628-b770-f13f6e6e6d33" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:StockholdersEquityNoteDisclosureTextBlock" escape="true"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 11. Stockholders&#8217; Equity</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In August 2016, the Company's Board adopted the 2016 Equity Incentive Plan (the 2016 Plan) for employees, directors and consultants. In February 2021, the Board adopted the 2021 Employment Inducement Incentive Award Plan (Inducement Plan), which provides for grants of equity-based awards.</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_602d5aee-a5e9-42f6-9000-da1d78986344" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="airg:ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table presents common stock reserved for </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">future issuance</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Arial;min-width:fit-content;">(1)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:60%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:16%;"/>
        <td style="width:1%;"/>
        <td style="width:2%;"/>
        <td style="width:1%;"/>
        <td style="width:17%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Stock options issued and outstanding</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_df9211b8-ae46-4d10-9c79-ef58a8f6e68a" contextRef="C_8ed3b33d-16c9-4dfa-8951-8386276958f5" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,482</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_27844e8c-f3e3-4cbb-9141-3e51ead0d079" contextRef="C_57c6919f-9384-4691-b87d-1f6bfb6c717d" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,104</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Stock awards issued and outstanding</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f478f454-faa3-40db-8d1a-44312e37bc99" contextRef="C_c41a6b24-816d-4625-8226-843b7e0b6f08" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,041</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eae259af-6a85-4e84-bc6e-31577e405fcd" contextRef="C_a08674a3-8240-4564-9b3e-fb444bd12512" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">817</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Authorized for grants under the 2016 Plan</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;">(2)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e36068b5-0a1a-45a5-9129-d95b9ca6b669" contextRef="C_87ae4f4f-83db-4f98-843d-3a2dc8347ab2" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">69</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_26957875-1597-4a69-a023-eaf4f7c40b88" contextRef="C_c39b14e8-88dd-402b-ad71-f085dcba3a41" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">448</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Authorized for grants under the Inducement Plan</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;">(3)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_370a21f6-e02c-4745-8777-b381c648ebe1" contextRef="C_1256b3cf-9b7f-4c0d-99b0-e1b9750725d9" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">183</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4ef4dc0b-9f86-42f9-833c-489649d88bf1" contextRef="C_8afd67a6-21bc-4aea-bc88-a028179aff26" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">174</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Authorized for grants under the 2016 Employee Stock Purchase Plan</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;">(4)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f54f47e3-2b23-4ee2-8ff9-aef37cb7fad3" contextRef="C_365fcfcb-3555-4411-86f0-1a070d2e4af2" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">517</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fba44fcc-f844-4a8f-974d-578e9c2e9dbe" contextRef="C_0f730fde-c292-4e50-b2fe-040bc977de0b" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">540</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_875b104e-f21d-4d24-b4f4-af869e8e4d8d" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,292</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f7b39257-6ea2-4920-bbb8-afd3f95d4a80" contextRef="C_2fca67c5-3c31-4124-84cd-12c3e7566cd4" name="us-gaap:CommonStockCapitalSharesReservedForFutureIssuance" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,083</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><ix:footnote id="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8" xml:lang="en-US"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(1)</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> The table above excludes </span><span style="font-size:8pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b0619aa1-a9ea-4062-ba00-438b6ab4576e" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:TreasuryStockCommonShares" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal"><ix:nonFraction id="F_348563aa-d60a-4f42-85a5-2eaa22156a64" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:TreasuryStockCommonShares" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">541,000</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> treasury stock shares as of June 30, 2024 and December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> </span></p></ix:footnote><ix:footnote id="FNT_f9b5b373-b0a3-42b7-be74-c6704769000b" xml:lang="en-US"><p style="text-indent:-2.74%;padding-left:2.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(2)</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> On January 1, 2024, the number of authorized shares in the 2016 Plan increased by </span><span style="font-size:8pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"><ix:nonFraction id="F_d40cac77-0d25-499e-a8b9-bf2039b803d6" contextRef="C_4d093ac2-9a3f-4acc-8923-f34bbd39eec4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">440,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> shares pursuant to the evergreen provisions of the 2016 Plan.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> </span></p></ix:footnote><ix:footnote id="FNT_9778f514-a4e8-4858-8ee1-d7ad0675707c" xml:lang="en-US"><p style="text-indent:-1.351%;padding-left:1.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(3)</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> On February 5, 2021, </span><span style="font-size:8pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0f3e8650-250e-41fc-bfbe-dde6eb4fe50e" contextRef="C_f5c550f5-1153-455f-99ac-1cddcdb6bd95" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">300,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> shares were authorized pursuant to the terms of the Inducement Plan.</span></p></ix:footnote><ix:footnote id="FNT_dc045c25-eecb-4ffa-865a-6d28ab80eb51" xml:lang="en-US"><p style="text-indent:-2.74%;padding-left:2.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(4) </span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">On January 1, 2024, the number of authorized shares in the 2016 Employee Stock Purchase Plan increased by </span><span style="font-size:8pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"><ix:nonFraction id="F_8c4597c7-35b4-4a4c-9fe5-50f8a3a2a60a" contextRef="C_1d19cea9-23c5-4939-b613-fa587083cbf3" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">100,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> sh</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">ares pursuant to the evergreen provisions of the 2016 Employee Stock Purchase Plan.</span></p></ix:footnote></ix:nonNumeric></div><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Issuance of Common Stock</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In March 2024, we established an at-the-market (ATM) offering program to sell up to </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6d90fa8d-a641-4794-9d18-c5ba980a6a85" contextRef="C_c4891f8b-64f7-4473-b3f5-a4df34d35fb4" name="us-gaap:CommonStockValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">5.0</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> of the Company's common stock. As of June 30, 2024, we have </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1b70802a-3349-4fb8-a45c-4f87c607f14c" contextRef="C_120b8152-dc6c-4d14-a177-d9b92844dad3" name="us-gaap:CommonStockValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.7</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> available under the offering program for future sales of our common stock.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company recorded the ATM gross sales proceeds and offering costs in additional paid-in capital of the consolidated balance sheet. </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_db6628a7-73c9-4d1f-9e5a-2225e0d7c735" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="airg:ScheduleOfTheCompanysAtmSalesActivityTabletextblock" escape="true" continuedAt="F_db6628a7-73c9-4d1f-9e5a-2225e0d7c735_1"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table summarizes the Company</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;s ATM sales activity during the period indicated (in thousands):</span></ix:nonNumeric></span></p><div style="font-size:10pt;font-family:Arial;"><ix:continuation id="F_db6628a7-73c9-4d1f-9e5a-2225e0d7c735_1"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49%;"/>
        <td style="width:7%;"/>
        <td style="width:1%;"/>
        <td style="width:17.74%;"/>
        <td style="width:1%;"/>
        <td style="width:6.66%;"/>
        <td style="width:1%;"/>
        <td style="width:15.6%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three Months Ended June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six Months Ended June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Shares issued</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9bfcd5a2-f96c-462e-a80b-64b71b1ef260" contextRef="C_a2f21e0a-510a-4388-a9a6-cd10cc924858" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">505</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_61ee51b5-a853-4e8f-a558-3b8531497cf7" contextRef="C_340bce37-8b20-46ff-a728-7d31ba68791b" name="us-gaap:StockIssuedDuringPeriodSharesNewIssues" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">629</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Gross proceeds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_deb793f1-cece-4d3d-814c-1ab818db859e" contextRef="C_a2f21e0a-510a-4388-a9a6-cd10cc924858" name="us-gaap:SaleOfStockConsiderationReceivedOnTransaction" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,630</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_37a49009-8fa1-45a5-872f-9cdd85d05b00" contextRef="C_340bce37-8b20-46ff-a728-7d31ba68791b" name="us-gaap:SaleOfStockConsiderationReceivedOnTransaction" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,309</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net proceeds after offering costs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d293d56c-dd83-445a-93e7-4fa1f55f918b" contextRef="C_a2f21e0a-510a-4388-a9a6-cd10cc924858" name="us-gaap:ProceedsFromIssuanceOrSaleOfEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,518</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2444668c-110f-4a51-9063-ebc8caeb48f5" contextRef="C_340bce37-8b20-46ff-a728-7d31ba68791b" name="us-gaap:ProceedsFromIssuanceOrSaleOfEquity" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,006</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><ix:exclude><div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">18</span></p></div></div></ix:exclude><ix:exclude>
       <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div></ix:exclude></ix:continuation></div></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_d3435205-09cf-48f9-95e1-e6efe4aa66ba" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" escape="true"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 12</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">. Stock Based Compensation</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Stock-Based Compensation Expense</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_2a429bb3-a0a5-4d17-9711-034e20f33821" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Stock-based compensation is recorded in the consolidated statements of operations as fol</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">lows (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:36.9%;"/>
        <td style="width:1.72%;"/>
        <td style="width:1%;"/>
        <td style="width:11.82%;"/>
        <td style="width:1%;"/>
        <td style="width:2.66%;"/>
        <td style="width:1%;"/>
        <td style="width:11.82%;"/>
        <td style="width:1%;"/>
        <td style="width:1.72%;"/>
        <td style="width:1%;"/>
        <td style="width:11.82%;"/>
        <td style="width:1%;"/>
        <td style="width:1.72%;"/>
        <td style="width:1%;"/>
        <td style="width:11.82%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cost of goods sold</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4f595d75-ed77-46c8-b9ec-7480aed49f3f" contextRef="C_62fa26ce-ebd1-47b7-a482-008a58de099c" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">65</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6fe81f8d-e3f3-4b48-8782-aed39fe52a7c" contextRef="C_bdc7cb5a-8aaa-45e9-97b3-4749711a0bf9" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_08d453cd-345b-42e3-80d0-aaeed2fa9598" contextRef="C_3425a20e-7c3a-45bd-a497-dee432c9dd9f" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">123</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_102633fc-ca33-46b9-940c-baa5c0d105ab" contextRef="C_cf4fda84-de4f-452f-bd29-8ec8e091841c" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">44</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Research and development</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6149bde4-d96b-47de-9ad6-43bb373c76dd" contextRef="C_80d7a7a5-b4a0-4933-a935-ffd720765c6f" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">400</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c87bb1aa-bf6b-4222-87e3-bb229c284647" contextRef="C_68b61dde-321a-404c-abd2-3a34e3cb52ac" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">280</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_38318985-f42b-4efd-b3da-0568281db245" contextRef="C_7e1f151e-598d-40c0-b711-c41d33819d44" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">728</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ed30a9e5-1804-4bba-8068-9863cb2b87ab" contextRef="C_57cd6524-ad06-498c-b8d9-9d9107205839" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">517</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Sales and marketing</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8544cf2f-0e99-4860-9b89-e467b16fe65f" contextRef="C_a8e39d89-3e18-4531-b879-ea90204c0cdf" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">75</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_66deffaa-c420-4dc2-8566-f19bd001e7a6" contextRef="C_f516d4b3-b8d5-4a9f-a16e-97e5765eea44" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">115</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_90bf4bff-bc92-4520-97e8-5de4c5901b1f" contextRef="C_12a62de7-249e-41b4-89ff-5b260e18ae97" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">155</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_76a2b77f-2fd4-484e-b298-938a932cf3a2" contextRef="C_bcf875af-7903-400f-8262-96e0b47ff190" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">276</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">General and administrative</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3854b2ed-dee3-4dcc-8223-dd6efe4ffe0f" contextRef="C_0e69e4a6-67a1-4425-b9cb-60594d2b6d42" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">667</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8fa461bc-06ad-4d69-a7c5-5794f01fa6ab" contextRef="C_09a33da6-d065-4b89-8318-235485b3d9cb" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">544</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5529087a-97f1-405b-87eb-5146dd41227f" contextRef="C_3026f516-70b9-4f50-86eb-9bc1730954df" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,247</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_249acf08-2de2-425e-8249-3f023d85b42a" contextRef="C_7c5de85f-fa79-4d2e-b506-b07fd48a8fea" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,112</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total stock-based compensation expense</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_570650cc-a30e-4d9b-8f9a-d5e0943d1fe0" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,207</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b4ff2da6-bea8-461e-8ffa-7719b0903700" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">968</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_315aae0b-dcbc-4513-a840-a6fd141fd8d6" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,253</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aa2c6ca2-f646-4e3b-badb-fefd0239746b" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:AllocatedShareBasedCompensationExpense" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,949</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Stock Options</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_3ff3efaa-ab8a-4129-b84b-3a36a8a8ef64" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table summarizes the outstanding stock option activity during the period indi</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">cated (shares in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:40.2%;"/>
        <td style="width:1.86%;"/>
        <td style="width:1%;"/>
        <td style="width:12.76%;"/>
        <td style="width:1%;"/>
        <td style="width:1.7%;"/>
        <td style="width:1%;"/>
        <td style="width:12.34%;"/>
        <td style="width:1%;"/>
        <td style="width:1.16%;"/>
        <td style="width:1%;"/>
        <td style="width:12.76%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:9.219999999999999%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Weighted average</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Number of <br/>stock options</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Exercise <br/>price</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Remaining contractual term (in years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Aggregate intrinsic value (in thousands)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b4d3fa29-f9e4-4631-b9ca-ba8cc9212161" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,104</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3c2d4cb1-7523-4333-9471-9cf36292ff5c" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:num-dot-decimal">10.20</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;"><ix:nonNumeric id="F_25128e80-a0b9-439a-a9b9-94c955a53fc3" contextRef="C_46837950-affe-4a34-a6b2-44c87b328126" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.2</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e4960ce8-234e-4fa5-b0d4-3bf61258ffbf" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">329</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Granted</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e77cf6db-b829-4c9a-879b-d1ce96359faa" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">408</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_00ee2cbb-9673-4758-8eea-35cce5d3d7d6" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:num-dot-decimal">5.07</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Exercised</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e074524f-70c6-41e7-90bc-1dbd7866a9ac" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">8</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_21c77c6b-c691-4f6a-aad1-907aeba81105" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:num-dot-decimal">3.10</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7d605021-f19e-4a1d-905f-6bff8e8b1303" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">18</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Expired/Forfeited</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d95319b0-5862-43fb-8a27-02cda8b9f0bc" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">22</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ebdb4b4c-be30-47ee-8747-b5d314ed317c" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:num-dot-decimal">8.28</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8f163856-3028-4dc1-a457-3652205a62e8" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,482</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b1c22e18-1109-4297-8abd-75d02993e6ff" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:num-dot-decimal">9.40</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;"><ix:nonNumeric id="F_b8f29003-71ce-469b-947e-60b1c1d88889" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.4</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2ff6466f-fb96-4ecf-aec1-e9c955befc3d" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,552</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Vested and exercisable at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cefdcbc5-2472-46c6-9813-7cfbc5a22367" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,639</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_981d5b62-cd40-441a-b7a2-d21e5d9be7a3" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:num-dot-decimal">11.12</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;"><ix:nonNumeric id="F_c41d134d-a6ee-4dbe-a549-21ac0dc97158" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.0</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9c0f131d-afcb-4e48-afbd-0275f4043e77" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">657</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Vested and expected to vest at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_027654bb-a2b5-4a12-bbd0-d14dea8d4581" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,482</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7f9b9716-398b-4713-9263-99f9fe8a9267" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:num-dot-decimal">9.40</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;"><ix:nonNumeric id="F_c12a0634-43a9-44e9-a9d9-3892dfd6ba76" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.4</span></ix:nonNumeric></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b752716c-67e4-4aa3-b07e-41507010fb3d" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,552</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The weighted average grant date fair value of options granted during the six months ended June 30, 2024 was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_750cf32e-25a7-4294-a3f5-c720dda30f6b" contextRef="C_a1fabf1a-d67e-45a9-ba4b-8693f38c7f3d" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:num-dot-decimal">2.82</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. The grant-date fair value of each option award is estimated on the date of grant using the Black-Scholes-Merton option-pricing model. For stock options vested and expected to vest, the aggregate intrinsic value as of June 30, 2024 was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2863dec7-542e-4c50-8e0d-d2681adf9f64" contextRef="C_5c05f44a-a76e-43f9-b701-d85ca14f276a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">1.6</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">At June 30, 2024, there was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b7af585b-3e99-493f-ae14-1e78c56c3c15" contextRef="C_5c05f44a-a76e-43f9-b701-d85ca14f276a" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">2.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million of unrecognized compensation cost related to unvested stock options granted under the Company&#8217;s equity plans that is expected to be recognized over the next </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_db540a23-70b6-4cf8-9beb-1406c9ef021d" contextRef="C_a1fabf1a-d67e-45a9-ba4b-8693f38c7f3d" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">2.5</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> years.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Restricted Stock</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_b1300e13-79b3-4e83-9e72-0bb97ecda365" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table summarizes the Company</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;s restricted stock unit (RSU) activity during the period indicated (shares in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:68%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:13%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:1%;"/>
        <td style="width:13%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Restricted <br/>stock units</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Weighted average grant date fair value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a0471178-a649-4f23-acd3-367d9d51213e" contextRef="C_647363e2-cd37-4f30-97cc-7379e29198b6" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">706</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0df379d8-5859-4230-9736-efd1f72c3b8a" contextRef="C_647363e2-cd37-4f30-97cc-7379e29198b6" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:num-dot-decimal">6.97</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Grants</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7adc4e8f-9e94-4d74-b9c0-04188fa5e683" contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">484</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6b3c2702-0a6b-47b4-b3c7-70e1716cac0c" contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:num-dot-decimal">5.14</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Vested and released</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fa3bc119-5547-4b69-85a9-6658407ea03e" contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">196</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fd3fe1ba-bdc0-4b79-b929-1d8390d6240c" contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:num-dot-decimal">7.83</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Forfeited</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5c6cb7b9-63a2-4ba2-a150-fe7dadac8c3c" contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">64</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9e455755-1a7f-4be1-bd98-5e0db955887d" contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:num-dot-decimal">5.77</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7b3f920b-8e55-4d00-ab30-96486faf9201" contextRef="C_22b78f39-4e0e-4151-bb78-29aef703c3ef" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">930</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0ea887dd-feb0-43c4-abe2-6e9710012e33" contextRef="C_22b78f39-4e0e-4151-bb78-29aef703c3ef" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:num-dot-decimal">5.92</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">As of June 30, 2024, there was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1c6bcf4f-7484-4bb9-b85b-a9b57f8451e8" contextRef="C_22b78f39-4e0e-4151-bb78-29aef703c3ef" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">4.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million of total unrecognized compensation cost related to unvested RSUs having a weighted average remaining contractual term of </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_24110b6d-15cb-43d3-a17f-4ae48ffa1c2b" contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">2.8</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> years.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><ix:exclude><div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">19</span></p></div></div></ix:exclude><ix:exclude>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div></ix:exclude><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Performance Stock Units</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_f47b2977-55f5-4795-971c-6b005236c448" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="airg:ScheduleOfPerformanceStockUnitTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table summarizes the Company</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;s performance stock unit (PSU) activity during the period indicated (shares in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.48%;"/>
        <td style="width:1.46%;"/>
        <td style="width:1%;"/>
        <td style="width:12.8%;"/>
        <td style="width:1%;"/>
        <td style="width:1.94%;"/>
        <td style="width:1%;"/>
        <td style="width:12.32%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Performance<br/>stock units</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Weighted average grant date fair value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_018621cf-22e6-478e-9983-ab359ca1267c" contextRef="C_06163348-6a9b-4911-8496-b909f45a4cea" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">110</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f13732b5-3a98-4382-9e92-36daeb09ded6" contextRef="C_06163348-6a9b-4911-8496-b909f45a4cea" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:num-dot-decimal">1.79</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Grants</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_885f6aa5-b062-4f7b-a8fe-0fe43b40d438" contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" unitRef="U_shares" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_725ac3ef-4315-4887-9cc5-c28753b1f0f6" contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" unitRef="U_USDollarShare" decimals="0" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Vested and released</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_deb32a3a-9b36-4d6d-9ee5-f456e1088117" contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" unitRef="U_shares" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_718cfc54-cf11-4da6-9e69-874ea79cd70a" contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" unitRef="U_USDollarShare" decimals="0" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Forfeited</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8846534-c043-4e2b-90dc-2cbebf8b78bf" contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" unitRef="U_shares" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_22a32882-d680-417d-b170-a64929040844" contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" unitRef="U_USDollarShare" decimals="0" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6179641b-f022-4b67-bcd9-a7e418c36e12" contextRef="C_d959d453-ae1a-48d4-9cc8-a592be22c074" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">110</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6faa66eb-d215-4eca-9766-2d4462e3899f" contextRef="C_d959d453-ae1a-48d4-9cc8-a592be22c074" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" unitRef="U_USDollarShare" scale="0" decimals="2" format="ixt:num-dot-decimal">1.79</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_9dfe2618-5044-4f74-8211-63077e122369" contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489" name="airg:DescriptionOfPerformanceStockUnit"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Service as well as market and performance conditions determine the number of PSUs that the holder will earn from 0% to 150% of the target number of shares. The per</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">centage received is based on the Company common stock price targets over a three-year service period. Additionally, the Company must achieve or exceed 75% of the year to date revenue target measured at the end of the quarter in which the price target is achieved.</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> As of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">June 30, 2024, there was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1d5a8da3-8d42-4f1f-9fb4-c22961d8d21d" contextRef="C_d959d453-ae1a-48d4-9cc8-a592be22c074" name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" unitRef="U_USD" decimals="0" format="ixt:num-dot-decimal">10,693</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> of total unrecognized compensation cost related to unvested PSUs, having a weighted average remaining contractual term of </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_974cee06-5274-4fbe-a337-2e32d5bf4342" contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" format="ixt-sec:duryear"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">0.8</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> years.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We estimate the fair value of PSUs with a market condition using a Monte Carlo simulation model as of the date of grant using historical volatility.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Share-Settled Obligations</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">When incurred, share-settled obligations to non-employees that will be paid in restricted stock units are recorded as accrued expense liability and stock-based compensation expense.</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_4376b78f-2a9f-4be7-9b6e-48e3fafdd396" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table summarizes the Company</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;s share-settled obligation RSU grants, which immediately vested during the period indicated:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:33.987%;"/>
        <td style="width:5.001%;"/>
        <td style="width:1%;"/>
        <td style="width:12.763%;"/>
        <td style="width:1%;"/>
        <td style="width:1.4%;"/>
        <td style="width:1%;"/>
        <td style="width:10.502%;"/>
        <td style="width:1%;"/>
        <td style="width:6.101%;"/>
        <td style="width:1%;"/>
        <td style="width:6.941%;"/>
        <td style="width:1%;"/>
        <td style="width:8.782%;"/>
        <td style="width:1%;"/>
        <td style="width:6.521%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">RSU grants that settled obligations (in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Grant date fair value</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8203ffb3-fc94-4141-ab74-3d4ac68c2bf0" contextRef="C_58e4f120-1efd-4401-8384-861db10be743" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" unitRef="U_USD" scale="3" decimals="-2" format="ixt:num-dot-decimal">70.9</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2c67e8dc-0fe2-4ed1-a194-f2340035dab3" contextRef="C_2aa10c7a-7d5a-4616-a85e-4aa09e5d2335" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dc7cb178-90bb-44ff-93eb-a177f3407d80" contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" unitRef="U_USD" scale="3" decimals="-2" format="ixt:num-dot-decimal">195.4</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_b4031ed0-c32a-49f1-8603-60fa331dd394" contextRef="C_1deee19f-880d-4d52-82fe-016d15dd795a" name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross" unitRef="U_USD" scale="3" decimals="-2" format="ixt:num-dot-decimal">949.2</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">RSU shares granted and vested</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0b86db23-340d-4ac7-a39b-7c6fb08ca718" contextRef="C_58e4f120-1efd-4401-8384-861db10be743" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">14</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6ef82847-1ccf-4ade-9701-3e4317562ba7" contextRef="C_2aa10c7a-7d5a-4616-a85e-4aa09e5d2335" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" unitRef="U_shares" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_76dc451e-1396-439f-91e8-e36d1dce0bce" contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">45</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_91dd6709-7f72-4529-8977-f7a0cf392c82" contextRef="C_1deee19f-880d-4d52-82fe-016d15dd795a" name="us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross" unitRef="U_shares" scale="3" decimals="-3" format="ixt:num-dot-decimal">187</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Employee Stock Purchase Plan (ESPP)</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company maintains the 2016 Employee Stock Purchase Plan (ESPP) that provides employees an opportunity to purchase common stock through payroll deductions. The ESPP is implemented through consecutive </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_b1e4d88b-6fd8-43da-a387-da40b3858aee" contextRef="C_f46e4734-cb96-4e89-9673-74cc9f95d89a" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" format="ixt-sec:durmonth"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">6</span></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">-month offering periods commencing on March 1 and September 1 of each year. The purchase price is set at </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9413b2c8-5bd4-49cf-a62a-ba4b8c83dfe0" contextRef="C_d488db77-a50f-4229-bff3-7b90b7f4ee80" name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">85</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">% of the fair market value of the Company</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">s common stock on either the first or last trading day of the offering period, whichever is lower. Annual contributions are limited to the lower of </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c9b850b3-d609-415a-a98d-a8691e95f1b6" contextRef="C_85745882-ba3b-4f06-8f7e-1e5fe04752a5" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">20</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">% of an employee</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;s eligible compensation or such other limits as apply under Section 423 of the Internal Revenue Code. The ESPP is intended to qualify as an employee stock purchase plan for purposes of Section 423 of the Internal Revenue Code.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Based on the </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f76c429d-7911-4adc-88a1-4f92f1abb0ef" contextRef="C_f46e4734-cb96-4e89-9673-74cc9f95d89a" name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">15</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">% discount and the fair value of the option feature of the ESPP, it is considered compensatory. Compensation expense is calculated using the fair value of the employees&#8217; purchase rights under the Black-Scholes model. The Company currently uses authorized and unissued shares to satisfy share award exercises.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">During the three months ended June 30, 2024</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">, the Company did </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_dd4884de-06ce-4111-99c1-4c1b8b615048" contextRef="C_e1d45918-415f-4f91-8e24-34e59f2ab891" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" unitRef="U_USD" scale="6" decimals="-6" format="ixt-sec:numwordsen">no</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">t issue</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> shares under the ESPP. During the six months ended June 30, 2024, the Company received </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ad2d16d9-f9e2-4aa9-9ae2-42e3427170b0" contextRef="C_f46e4734-cb96-4e89-9673-74cc9f95d89a" name="us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.1</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million from the issuance of </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d782f575-4dd4-4dca-adf5-3d77d18345e1" contextRef="C_f46e4734-cb96-4e89-9673-74cc9f95d89a" name="us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" unitRef="U_shares" decimals="INF" format="ixt:num-dot-decimal">22,852</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> shares under the ESPP</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">.</span></p></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">20</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <div style="font-size:11pt;font-family:Arial;"><ix:nonNumeric id="F_0792782e-4a57-4e2c-b8e5-2b03a4a1f489" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" escape="true"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 13. Commitments and Contingencies</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Non-Recurring Severance and Exit Costs</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The non-recurring workforce reduction severance liability is recorded in accrued compensation on the accompanying unaudited condensed consolidated balance sheet. The severance and exit cost were recorded in the relevant operating expense departments in the accompanying unaudited condensed consolidated statement of operations.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_d97b82f4-2087-41f3-ba59-a801764baea7" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="airg:ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table presents activity that we recorded related to severance and exit costs:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.74%;"/>
        <td style="width:17%;"/>
        <td style="width:1%;"/>
        <td style="width:23.26%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Severance and Exit Costs</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(In thousands)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_66a8a8ff-414f-4a22-ac8d-70a8d068ca88" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="airg:SeveranceAndExitCosts1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">50</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued to expense</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f1f1cdeb-baeb-4ed6-8324-2ff951c1dc73" contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72" name="airg:AccruedExpenseOfSeverancCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Payments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_5f467180-131b-403f-bf1f-71f37b31d804" contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72" name="airg:PaymentOfSeveranceCosts" unitRef="U_USD" scale="3" decimals="-3" sign="-" format="ixt:num-dot-decimal">50</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at March 31, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_071c73a3-0a8b-4c2e-ba5c-3464b8853213" contextRef="C_d41a7360-3930-46e7-bcff-eb8f951d01c8" name="airg:SeveranceAndExitCosts1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued to expense</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_088f8efb-fab0-4672-a2e7-ee34349ce79f" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="airg:AccruedExpenseOfSeverancCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Payments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0a6a09b5-e0d9-4ff7-9bbe-b9f3affb0d2c" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="airg:PaymentOfSeveranceCosts" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_085518a3-217c-4f46-9cdb-9f2de8f33fc6" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="airg:SeveranceAndExitCosts1" unitRef="U_USD" scale="3" decimals="-3" format="ixt:fixed-zero">&#8212;</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="text-indent:14pt;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Potential Product Warranty Claims</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company had a general warranty accrual of approximately </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"><ix:nonFraction id="F_4a06a3ac-853a-411c-bc23-0889c2c571e1" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="airg:AccrualWarrantyExpense" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal"><ix:nonFraction id="F_c89764c1-cf9c-41d2-a69c-40dc011c6636" contextRef="C_46837950-affe-4a34-a6b2-44c87b328126" name="airg:AccrualWarrantyExpense" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.1</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">million as of each of June 30, 2024 and December 31, 2023.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Indemnification</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In some agreements to which the Company is a party, the Company has agreed to indemnify the other party for certain matters, including, but not limited to, product liability and intellectual property. To date, we have not recorded any material liabilities in the accompanying consolidated financial statements.</span></p></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_9587f6e1-ab76-4fed-a78b-0a0c31b7a875" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:ConcentrationRiskDisclosureTextBlock" escape="true"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 14. Concentrations</span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Concentration of Sales and Accounts Receivable</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_ef624090-20c0-4eda-8314-fe1bf7bf721f" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following represents customers that accounted for </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2bfcd3d0-44da-4afc-be41-d7ae0cf035ea" contextRef="C_39b91c54-7d09-4705-804a-98be89f600ca" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">10</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">% or more of total revenue:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:32.213%;"/>
        <td style="width:1.461%;"/>
        <td style="width:1%;"/>
        <td style="width:15.187%;"/>
        <td style="width:1%;"/>
        <td style="width:1.461%;"/>
        <td style="width:1%;"/>
        <td style="width:14.506%;"/>
        <td style="width:1%;"/>
        <td style="width:1.461%;"/>
        <td style="width:1%;"/>
        <td style="width:12.125%;"/>
        <td style="width:1%;"/>
        <td style="width:1.461%;"/>
        <td style="width:1%;"/>
        <td style="width:12.125%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer A</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7a4f07d3-5905-4dd8-ae30-c8b080a4ae82" contextRef="C_9a55883d-ffe6-40dd-aa81-0bcaed69b5a3" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">24</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4aa07092-916c-4315-99ff-76528623dbcf" contextRef="C_211b034d-b71f-44aa-b1fd-04af90e0c4cd" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">9</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f70348c2-9aa5-4be2-8299-6814263dc2a2" contextRef="C_19b82e51-20c2-4a00-a405-b79138daa225" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">20</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_df5d0519-3a92-4a37-bdea-87eb6eb4ca26" contextRef="C_ed6acad9-a4a2-4161-824f-b8f4fea4caaa" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">12</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer B</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f4c47851-3dd4-4bff-b4a3-c1071dc1bfa1" contextRef="C_a5df0e59-957c-4aa1-a540-46af7254a00e" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">16</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_113b21e4-a388-4f57-9ac3-0061605e021c" contextRef="C_95ab88bd-76d4-4fbf-ac09-eed5b64d70d4" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">6</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_942acebf-3625-4025-ada3-fba54c34e588" contextRef="C_0bcf9265-2463-4d18-8070-5bbe06eed5df" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">17</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_76e78a58-d561-4252-adbc-029bafbcb56d" contextRef="C_00c8fc38-b9f5-45ca-8645-9cfe7d739a09" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">7</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following represents customers that accounted for </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ff5d26f8-419c-446c-94ce-334c32266fba" contextRef="C_a52a33fe-2be9-4bc0-aa13-0abcd28fa9b3" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">10</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">% or more of total trade accounts receivable:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:46.809%;"/>
        <td style="width:2.3%;"/>
        <td style="width:1%;"/>
        <td style="width:22.784%;"/>
        <td style="width:1%;"/>
        <td style="width:2.3%;"/>
        <td style="width:1%;"/>
        <td style="width:21.804%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer A</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_eb5b33ff-19ec-4f5b-a835-08402677209f" contextRef="C_c9ca72ad-7aa1-4859-9947-8646bfb8f97d" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">27</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8b325c46-5618-4be8-a2d7-b63661c982a1" contextRef="C_1afdc367-4577-4fdd-99e9-9906a07e083d" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">17</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer B</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4ccaec92-c9e8-45f5-baac-006c522a004a" contextRef="C_bc853caf-d882-4dae-844e-7d1e7ae55dac" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">14</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_186162f3-4654-47eb-921e-32628d6c1203" contextRef="C_5c6e0d5f-b67a-49c0-a9b5-523af891b437" name="us-gaap:ConcentrationRiskPercentage1" unitRef="U_pure" scale="-2" decimals="2" format="ixt:num-dot-decimal">14</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
       </tr>
      </table></ix:nonNumeric></div><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The allowance for credit losses as of June 30, 2024 and December 31, 2023 was not material.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Concentration of Purchases</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">During the six months ended June 30, 2024, the Company&#8217;s products were manufactured by six CMs with locations in China, Vietnam, Mexico, and the United States.</span></p><ix:exclude><div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">21</span></p></div></div></ix:exclude><ix:exclude>
     <hr style="page-break-after:always;"/><div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div></ix:exclude><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Concentration of Cash</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company&#8217;s cash deposits exceeded the Federal Deposit Insurance Corporation&#8217;s insured limits. The Company has not experienced losses on these accounts. Most of the Company's deposits are in several accounts at a large institutional bank.</span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Concentration of Property and Equipment</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_2da3c239-b597-49cd-b08c-b8576b3b8d7b" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock" escape="true"><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company&#8217;s property and equipment, net by geographic region, are as follows (in thousands):</span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49.8%;"/>
        <td style="width:2.48%;"/>
        <td style="width:1%;"/>
        <td style="width:20.72%;"/>
        <td style="width:1%;"/>
        <td style="width:2.48%;"/>
        <td style="width:1%;"/>
        <td style="width:20.52%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">North America</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_063583af-0c0f-4c38-aeb0-4809f8d51c6f" contextRef="C_b7ca1f41-0722-4e27-82aa-b407341774ba" name="us-gaap:NoncurrentAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,038</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_cdd8c9ab-ba90-4de1-bae5-9a487ae10ea9" contextRef="C_4d9465af-3f74-48f7-aa6f-9d372d477df1" name="us-gaap:NoncurrentAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,295</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Asia Pacific (APAC)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2e1c93a0-0b34-4c95-8ec4-6d7c5f78c09e" contextRef="C_97c02c81-358b-4e05-85c1-05997fed85f0" name="us-gaap:NoncurrentAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">71</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ca8dca1c-2a3c-440f-be10-596704fcf1f7" contextRef="C_789ae37c-e89a-4496-8b41-b98316a1a539" name="us-gaap:NoncurrentAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">86</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Europe, Middle East and Africa (EMEA)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c8c5e262-a15f-404b-8db5-2b267d120144" contextRef="C_ecf301a5-d7cb-454b-ac8c-0d3234eda685" name="us-gaap:NoncurrentAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">111</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3429ebaa-bb6c-4ec3-8a4f-834b2218fea1" contextRef="C_72836a28-db75-428c-95b6-5401a42a5e14" name="us-gaap:NoncurrentAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">126</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Property and equipment, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_514723c9-2deb-4dde-a6f7-4f3d0af2b1ff" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:NoncurrentAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,220</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_048e7017-c023-408f-b720-c119084757c5" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:NoncurrentAssets" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,507</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></ix:nonNumeric></div></ix:nonNumeric></div>
  <p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_b563065c-a30e-46d7-a6b7-19472616fada" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:RevenueFromContractWithCustomerTextBlock" escape="true"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 15. Revenue</span></p><div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_b95abbf7-70f2-4443-b7f9-4fc70e059f5c" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:DisaggregationOfRevenueTableTextBlock" escape="true"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Disaggregated revenues are as fo</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">llows (in thousands):</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:38.98%;"/>
        <td style="width:8.78%;"/>
        <td style="width:1%;"/>
        <td style="width:9.34%;"/>
        <td style="width:1%;"/>
        <td style="width:2.72%;"/>
        <td style="width:1%;"/>
        <td style="width:7.8999999999999995%;"/>
        <td style="width:1%;"/>
        <td style="width:2.72%;"/>
        <td style="width:1%;"/>
        <td style="width:10.459999999999999%;"/>
        <td style="width:1%;"/>
        <td style="width:3.2%;"/>
        <td style="width:1%;"/>
        <td style="width:7.8999999999999995%;"/>
        <td style="width:1%;"/>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">By Market Group:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Enterprise</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_01bf9953-267b-41d8-bd5b-8175e2f2e201" contextRef="C_1952da4a-9508-4358-8ff0-b4d057c1ed14" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,615</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_38e316ed-7cd1-4122-a7b9-186c3134ab7a" contextRef="C_7f383697-5844-4b82-9a4e-b3050028607b" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">7,366</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_1f72ad97-592e-41e9-81ea-459d62340fb3" contextRef="C_1ba04047-43b5-43b7-9beb-1a23891b8db2" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">17,494</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c0300cea-0d4c-43d5-a9f6-5327c40dfdd6" contextRef="C_ffcc8a12-49a2-4919-9b70-70a2a061cdb1" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,803</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Consumer</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8ab5e8c6-33d3-42f4-a993-1186d0c27ccd" contextRef="C_e5aeb583-1e63-4a2c-b261-1d61577d1e04" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">4,827</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0df3ec28-6340-4d1a-8c69-b6d54f7abc6e" contextRef="C_4bceeb1b-2475-440d-96c9-a90b4a0a066b" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,189</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_feb53ff2-5e18-4570-971d-dfa1261d711e" contextRef="C_c7681787-01da-4cfc-9e8a-937ba84d7664" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,338</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_91c22841-f333-45d0-9725-9b7f71d6561d" contextRef="C_74f5000c-88e6-49bf-96f3-c08519842d35" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">11,321</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Automotive</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f3240339-b9a1-4a3b-a66a-edb36b348e70" contextRef="C_5c80f53f-063d-4e96-83c9-b98152853166" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,742</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_f5c9496c-347c-49d7-ad3b-dd046d3857e5" contextRef="C_cfcbd150-1e5f-4bef-b9ad-a94f636581b9" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">2,275</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3021bdbd-60d5-4a46-bc64-b115c8b959ca" contextRef="C_e13ae568-6342-469d-adc8-7054c28ff7e9" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">3,583</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_2bfff4eb-3953-4e34-b74a-3d3bc824100f" contextRef="C_d2b68738-49e7-493a-bad7-b0771bcb17e5" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,150</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total sales</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_7fb5b2e6-9755-4ab2-a077-e07da732ae37" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,184</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_095a3193-b238-4b62-8f24-876010e375ba" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,830</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9f8816b8-ae90-40bf-9fdc-f16fc2e07878" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29,415</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_9631c4d5-ec68-41d1-8a9e-1e25b852611b" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">32,274</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">By Geography:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">North America</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6a05b002-1489-4eca-bc43-6dab6a01a4d3" contextRef="C_033858d2-91ee-4dc8-8a1b-308848505b0a" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,337</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_269084cf-e047-4245-b503-f3625363e9e7" contextRef="C_c895571d-5c20-4fd0-ac84-e70be4798d56" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">9,438</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_e79215c0-a429-4eff-8871-bae9dd40491c" contextRef="C_54553e49-f718-47c3-a177-7d5ddf9a39e3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,361</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_fc6d24ab-396d-41b7-af87-0709b00d772e" contextRef="C_c90ea074-812d-49eb-8bc3-ab07e462da2e" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">19,606</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">China (including Hong Kong and Taiwan)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_3bbb5e72-f7cd-4962-a606-f7b44e18cfad" contextRef="C_0eda61ad-97a4-4823-9348-afe087975fc3" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">5,397</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ab30fb7e-ff1d-4a96-9d2b-98d3ce806efe" contextRef="C_e08a265f-a0ae-4dea-b575-c207e3767bff" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">6,059</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_40963249-0d3f-4b7a-bbba-54f96a270a33" contextRef="C_82204119-297d-48a3-abf7-3e4210eec762" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">8,700</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8b960202-a536-4409-843b-ce86ac20477d" contextRef="C_ced7521a-62cc-45b9-aee4-d4c87166f847" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">12,028</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Rest of the world</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_c4087f8d-f9f4-4695-852d-680003f17ef7" contextRef="C_4cf81107-a033-4b96-bcba-bf43481690eb" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">450</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_14b91ebc-cdff-4eb9-af61-855216445c42" contextRef="C_0aeaccfa-63c4-457b-aba4-e58bc0acd805" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">333</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_8f04c941-791b-4c78-b71c-548cf586814c" contextRef="C_fe2fa791-a70e-47bd-b627-8b3bbf7e331a" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,354</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0cca1dac-c5fc-4158-83d4-b6401f20e2cc" contextRef="C_45c0e743-24dd-4135-8ce6-2450628d38b8" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">640</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total sales</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_20979c77-79d3-4956-b57c-57fe349e55cf" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,184</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_97e06f28-9082-4e8e-9261-d15e2fb6101e" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,830</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_54097894-d27a-4c1f-a5ae-99247c820e4a" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29,415</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_0716ccaa-34fa-41a4-a481-fab55631700d" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">32,274</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Timing of revenue recognition:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Products and services transferred at a point in time</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_d03e5a32-e40f-426d-b794-67aa62ed4efc" contextRef="C_f67e1f33-d314-40ee-8261-3043e701723b" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,507</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_4b5a2c66-7880-469d-9e10-60a33f7d53b4" contextRef="C_c5947326-06db-4c9a-a516-420565e54d71" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">14,795</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_372888c1-3bac-4b68-a8f4-6c8622ec8817" contextRef="C_406fd382-7b26-4270-a36a-e388be8ec9b5" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">28,032</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_25774d86-3c8d-4f0e-9a65-0c7194fe920d" contextRef="C_fc9b5504-33f6-466b-8261-5df11f04d1e0" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">30,639</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Products and services transferred over time</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6e486e3d-ceb3-439a-a59c-83954a4dd4f4" contextRef="C_53019d3e-70fc-43ff-ab6f-65fc83de5b4f" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">677</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_a53a7153-beaa-47cb-9933-e6d16f45ae3f" contextRef="C_8ef290ea-e362-4743-a68d-e8f774b80d92" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,035</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_150f2bf4-1bc2-48ff-8567-33df18fbba7c" contextRef="C_0e194c87-3083-4f0d-8b8b-65e5b32819ce" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,383</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_63e4c6cb-f1bd-422e-864c-09b9ff72a6a9" contextRef="C_08ec7d9c-a94b-4c25-9045-375630b633cd" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">1,635</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total sales</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aa2c8198-9a3e-456d-82ad-2801e1ea54b9" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,184</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_727a46ed-d0e5-4093-8052-aab7f3c82ded" contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">15,830</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_02b68fd7-3abc-49b4-96b6-3032f8b93ae6" contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">29,415</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_aef91562-3fad-4b4f-95f0-437ae3234e9c" contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="3" decimals="-3" format="ixt:num-dot-decimal">32,274</ix:nonFraction></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p></ix:nonNumeric></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Revenue generated from the United States was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"><ix:nonFraction id="F_b5190948-a3dd-471f-98f5-2859101f8836" contextRef="C_5f6638eb-5f0e-4049-bf05-f222443db01b" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">9.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"><ix:nonFraction id="F_5cd65130-8a68-4dce-837e-1a97abf18442" contextRef="C_e70a59ac-c0ac-4d2a-aaa3-4d6c25a9fbf7" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">9.4</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million for the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">three months ended June 30, 2024 and 2023, respectively, and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_ff3a1495-4b83-4e88-9400-01654c621259" contextRef="C_63718222-753e-42aa-9f27-f99e69a1860c" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">19.3</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"><ix:nonFraction id="F_70526f59-b5fc-4720-9509-ea193c160674" contextRef="C_b943ea6d-4ffd-4191-bfe3-b662c75b79b7" name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">19.5</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million for the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">six months ended June 30, 2024 and 2023, respectively.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Liability for potential rights of return was approximately </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_6f7b70c3-d793-4b7d-8cd1-a9354621bad2" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:ContractWithCustomerRightToRecoverProduct" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal"><ix:nonFraction id="F_1e3e5332-e508-47ad-85de-2da3ee759062" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:ContractWithCustomerRightToRecoverProduct" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.1</ix:nonFraction></ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million as of June 30, 2024 and December 31, 2023 and is included within accrued liabilities in the accompanying unaudited condensed consolidated balance sheets.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Contract liabilities are deferred revenues that were recorded when advance payment were received for remaining performance obligations that are recognized over time. The contract liabilities were </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_32b2c11c-3fed-4ad6-acd7-2b1898039d59" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:ContractWithCustomerLiabilityCurrent" unitRef="U_USD" decimals="0" format="ixt:num-dot-decimal">30,200</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"><ix:nonFraction id="F_ffc7333a-b7af-4efb-8d9f-8bf74a2e9ddf" contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc" name="us-gaap:ContractWithCustomerLiabilityCurrent" unitRef="U_USD" decimals="0" format="ixt:num-dot-decimal">17,000</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">as of June 30, 2024 and December 31, 2023, respectively.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The remaining non-cancellable revenue, that will be recognized over time on a series of distinct performance obligations, amounts to </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"><ix:nonFraction id="F_093616a1-b4e5-47b2-91c6-d84b65f25d8e" contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf" name="us-gaap:RevenueRemainingPerformanceObligation" unitRef="U_USD" scale="6" decimals="-5" format="ixt:num-dot-decimal">0.2</ix:nonFraction></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> as of June 30, 2024</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">.</span></p></ix:nonNumeric></div>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">22</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <div style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_a1e7894f-7fa3-407d-a81f-5365c64ccd20" contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72" name="us-gaap:SubsequentEventsTextBlock" escape="true"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 16. Subsequent Events</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">None.</span></p></ix:nonNumeric></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">23</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_2_managements_discussion_analysis_f"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">ITEM 2.	MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"> FINANCIAL CONDITION AND RESULTS OF OPERATIONS</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">The following discussion and analysis and the interim unaudited condensed consolidated financial statements included in this quarterly report on Form 10-Q should be read in conjunction with the financial statements and notes thereto for the year ended December 31, 2023 and the related Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations, both of which are contained in our Annual Report on Form 10-K for the year ended December 31, 2023.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Forward-Looking Statements</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">This quarterly report on Form 10-Q contains forward-looking statements within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended (the Exchange Act). All statements other than statements of historical fact contained in this quarterly report, including statements regarding our future operating results, financial position and cash flows, our business strategy and plans, and our objectives for future operations, are forward-looking statements. These statements involve known and unknown risks, uncertainties and other important factors that may cause our actual results, performance or achievements to be materially different from any future results, performance or achievements expressed or implied by the forward-looking statements. In some cases, you can identify forward-looking statements by terms such as &#8220;may,&#8221; &#8220;will,&#8221; &#8220;would,&#8221; &#8220;could,&#8221; &#8220;should,&#8221; &#8220;expect,&#8221; &#8220;plan,&#8221; &#8220;anticipate,&#8221; &#8220;intend,&#8221; &#8220;target,&#8221; &#8220;project,&#8221; &#8220;contemplate,&#8221; &#8220;believe,&#8221; &#8220;estimate,&#8221; &#8220;predict,&#8221; &#8220;potential&#8221; or &#8220;continue&#8221; or the negative of these terms or other similar expressions. The forward-looking statements in this quarterly report are only predictions. We have based these forward-looking statements largely on our current expectations and projections about future events and financial trends that we believe may affect our financial condition, operating results, business strategy, short-term and long-term business operations and objectives. These forward-looking statements speak only as of the date of this quarterly report and are subject to a number of risks, uncertainties and assumptions, including those described in Part II, Item 1A, &#8220;Risk Factors.&#8221; The events and circumstances reflected in our forward-looking statements may not be achieved or occur and actual results could differ materially from those projected in the forward-looking statements. Moreover, we operate in a very competitive and rapidly changing environment. New risk factors and uncertainties may emerge from time to time, and it is not possible for management to predict all risk factors and uncertainties. Except as required by applicable law, we do not plan to publicly update or revise any forward-looking statements contained herein, whether as a result of any new information, future events, changed circumstances or otherwise.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Overview</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Airgain is a premier provider of wireless connectivity solutions, offering a range of embedded components, external antennas, and integrated systems worldwide. We streamline wireless connectivity across devices and markets, with a focus on providing solutions for complex connectivity challenges, expediting time to market, and optimizing wireless signals. Our mission is to connect the world through optimized, integrated wireless solutions. Our product portfolio focuses on three key markets: enterprise, consumer, and automotive.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Our current enterprise products include embedded cellular modems, antennas for access points and Internet of Things (IoT) applications, asset trackers, and fixed wireless access (FWA) devices. We expect to expand our product offering with Smart Network Controlled Cellular Repeaters (Smart NCRs). Our consumer products include embedded antennas for consumer access points, wireless gateways, smart home devices and FWA devices. Our current automotive products include aftermarket antennas that are typically connected to third-party cellular and Wi-Fi-enabled routers, digital video evidence devices, and telematics gateways. We expect to expand our product offering with a second generation AirgainConnect&#174; Fleet system solution &#8211; a low profile, roof-mounted 5G vehicle gateway, combining a cellular modem, antennas, and additional features into a single device.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We have a rich history of providing radio frequency (RF) expertise, services, and solutions to mobile operators and major original equipment manufacturers (OEMs). We expanded our capabilities to include embedded cellular modems, asset trackers and custom IoT systems with our NimbeLink products. We are leveraging our RF and systems experience, and our Mobile Network Operator (MNO) and Multiple Service Operator (MSO) relationships to deliver new and differentiated products.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We use an outsource manufacturing model for our products while maintaining oversight for quality, test, and delivery timeline. We also maintain an intellectual property strategy that includes patent and trademark filings in multiple jurisdictions.</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">24</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Core Markets</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Airgain&#8217;s core business primarily focuses on the following three key markets:</span></p>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The enterprise market requires reliable wireless access across various settings, including smart cities, utilities, factories, buildings, campuses, transportation hubs, stadiums, and suburban developments. Our NimbeLink embedded modems serve numerous enterprise sectors requiring cellular connectivity such as packaging, logistics, EV charging, smart cities, smart buildings, agriculture, asset tracking, and self-service innovations. These NimbeLink cellular modems, which are both patented and end-device certified, minimize the need for additional carrier certifications. Our asset trackers are deployed globally across transportation, supply chain, and other specialized applications. In addition to hardware, our asset tracking offering includes a recurring revenue component, our subscription-based NLink cloud-based device enablement platform, which allows for deployment and integration with enterprise systems via open application programming interfaces. Our custom products feature joint engineering collaboration with strategic customers to develop industrial IoT products (IIoT) for specific applications while helping them reduce their time to market. Our enterprise IoT and machine-to-machine (M2M) antennas are extensively deployed in diverse systems, devices, and applications, including access points, gateways, FWA devices and utility meters. In 2023, we unveiled a new line of FWA products designed to address 5G connectivity challenges, reduce deployment costs and enhance customer experiences. We started shipping our FWA devices in the second quarter of 2024. In 2023, we announced our Lighthouse&#153; smart repeaters platform designed to reduce an operator&#8217;s capital expenses for extending range, while enhancing 5G coverage.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The consumer market represents a vast audience utilizing wireless-enabled devices. Our embedded antennas are deployed in various consumer applications including access points, wireless gateways, FWA devices, Wi-Fi routers and extenders, smart TVs, smart home devices, and set-top boxes. These consumer products support a variety of technologies, products and services, including LTE, 5G, Wi-Fi, Bluetooth, LPWAN and GNSS (Global Navigation Satellite System). We announced in November 2023 that Airgain was selected by a major Tier 1 MNO in North America to supply its next generation antennas for its indoor FWA. This selection comes amid ongoing consumer shifts away from traditional wired broadband to wireless as more major telecom providers offer broadband internet access as part of their bundled offerings. We continue to grow our relationships with MSOs and MNOs as the market evolves with both wired and wireless broadband internet offerings.</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In the automotive market, our products are deployed in a wide range of vehicles in the fleet and aftermarket applications, supporting a variety of technologies that include Wi-Fi, LTE, 5G, LPWAN, GNSS, and Bluetooth. Fleet and aftermarket products in the automotive market typically consist of applications where vehicular wireless routers are paired with external antenna systems to provide connectivity to mobile assets. We offer a full line of external fleet antennas that are designed to be rugged, reliable, and flexible to meet almost any need. We design our products for performance, quality, and long product life and our antennas connect to almost any vehicular router or modem. These antennas include high-performance and low-profile versions that mount on the roof, trunk, windshield, or dashboard and are optimized for 5G, 4G, Wi-Fi, and GNSS. In January 2024 we announced our next-generation product named AirgainConnect Fleet (AC-Fleet). The AC-Fleet solution is 5G and carrier agnostic allowing for a larger target market compared our first generation AC-HPUE solution.</span></div></div>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Macro-economic Conditions</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Macroeconomic conditions continued to create demand softness industrywide, including downward pressures relating to the anticipated service provider shift from Wi-Fi 6E to Wi-Fi 7. This demand softness combined with excess inventories in our channels and those of our direct customers, drove quarter-over-quarter declines in our Enterprise, Automotive and Consumer markets. We believe that the fourth quarter of 2023 was the trough for our business. The first half of 2024 saw market recoveries in our Enterprise and Consumer markets. As we move into the second half of 2024, the industry wide headwinds we have faced continue to dissipate, and our indicators suggest that previously broad demand softness has become more product and customer specific, as the industry re-calibrates to optimal inventory levels. We remain focused on the execution of our strategic product initiatives and operational efficiencies, as they lay out the foundation of our revenue and profitability growth when market conditions improve.</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">25</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Factors Affecting Our Operating Results</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We believe that our performance and future success depend upon several factors including macro-economic and geopolitical uncertainties, epidemic diseases, impact of inflation on consumer spending, and our ability to transition from a component provider to a wireless systems provider and to develop technology leadership and expand our markets.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Our performance and future success also depend on factors such as continued investments in our growth, our ability to expand into growing addressable markets, including consumer, enterprise, and automotive, the average selling prices of our products per device, manufacturing costs and our ability to diversify the number of devices that incorporate our antenna products. Our customers are price conscious, and our operating results are affected by pricing pressure which may force us to lower prices below our established list prices. In addition, a few end-customer devices which incorporate our antenna products comprise a significant amount of our sales, and the discontinuation or modification of such devices may materially and adversely affect our sales and results of operations. Our ability to maintain or increase our sales depends on, among other things:</span></p>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">new and existing end customers selecting our solutions for their wireless devices and networks;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">investments in our growth to address customer needs;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">development of our product offerings and technology solutions;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">our ability to target new end markets;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">the proliferation of Wi-Fi connected home devices and data intensive applications;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">the impact of global supply shortages on our business and that of our end customers;</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">international expansion in light of continuing global tensions; and</span></div></div>
  <div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">the ability to successfully integrate past and any future acquisitions.</span></div></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In addition, inflation generally affects us by increasing our raw material and employee-related costs and other expenses. Our financial condition and results of operations may also be impacted by other factors we may not be able to control, such as uncertain global economic conditions, pandemics and epidemics, global trade disputes or political instability, as well as conflicts around the world. We do not believe that such factors had a material adverse impact on our results of operations during the six months ended June 30, 2024.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">While each of these areas presents significant opportunities for us, they also pose significant risks and challenges we must successfully address. We discuss many of these risks, uncertainties and other factors in greater detail in the section entitled &#8220;Risk Factors&#8221; included in this quarterly report on Form 10-Q and in Item 1A of our Annual Report on Form 10-K.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Seasonality</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Our operating results historically have not been subject to significant seasonal variations. Although it is difficult to make broad generalizations, our sales tend to be lower in the first quarter of each year compared to other quarters due to the Lunar New Year. Results for any quarter may not be indicative of the results that may be achieved for the full fiscal year and these patterns may change because of general customer demand or product cycles.</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">26</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Key Components of Our Results of Operations and Financial Condition</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Sales</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We primarily generate revenue from the sales of our products. We recognize revenue to depict the transfer of control over promised goods or services to customers in an amount that reflects the consideration to which the entity expects to be entitled for those goods or services. We generally recognize product sales at the time of shipment to our customers, provided that all other revenue recognition criteria have been met. We also generate service revenue from agreements to provide design, engineering, and testing services as well as subscription revenue from the sale of data plans.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Cost of Goods Sold</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The cost of goods sold reflects the cost of producing antenna, embedded modem and system solutions products that are shipped to our customers as well as costs incurred for service agreements. This primarily includes manufacturing costs of our products payable to our third-party CMs. The cost of goods sold that we generate from services and subscription revenues primarily includes personnel costs and the cost to maintain data lines.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Operating Expenses</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Our operating expenses are classified into three categories: research and development, sales and marketing, general and administrative. The largest component of expense is personnel costs, which includes salaries, employee benefit costs, bonuses, and stock-based compensation. Operating expenses also include allocated overhead costs for depreciation of equipment, facilities and information technology. Allocated costs for facilities consist of amortization of leasehold improvements as well as rent and utility expenses and taxes. Operating expenses are generally recognized as incurred.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Research and Development</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. Research and development expenses primarily consist of personnel and project development costs. These expenses include work related to the design, development and testing of antennas, modems and system solutions. These expenses include salaries, stock-based compensation, benefits, bonuses, project development and testing, prototype material, consulting, travel, and similar costs, and depreciation and allocated costs for certain facilities. We expect research and development expenses to increase in absolute dollars in future periods as we continue to invest in the development of new solutions and markets, although our research and development expense may fluctuate as a percentage of total sales.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Sales and Marketing</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. Sales and marketing expenses primarily consist of personnel and facility-related costs for our sales, marketing, and business development personnel, stock-based compensation and bonuses earned by our sales personnel, and commissions earned by our third-party sales representative firms. Sales and marketing expenses also include the costs of trade shows, advertising, marketing programs, promotional materials, demonstration equipment, travel, and allocated costs for certain facilities. We expect sales and marketing expenses to fluctuate as a percentage of total sales.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">General and Administrative</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. General and administrative expenses primarily consist of personnel and facility related costs for our executive, legal, human resource finance, and administrative personnel, including stock-based compensation, as well as legal, accounting, other professional services fees, depreciation, and other corporate expenses. We expect general and administrative expenses to fluctuate as we grow our operations.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Other (Income) Expense</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Interest Income, net</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. Interest income consists of interest from our cash and cash equivalents offset by interest expense which consists of interest charges on credit card charges and certain vendor bills.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Other Expense.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> Other expense consists of the loss from disposal of property and equipment, realized foreign exchange gains or losses, and other income and expenses.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Provision for Income Taxes</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Provision for income taxes consists of federal and state income taxes. In assessing the realizability of deferred tax assets, management considers 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 the periods in which those temporary differences become deductible. Management considers the scheduled reversal of deferred tax liabilities (including the impact of available carryback and carryforward periods), projected future taxable income, and tax-planning strategies in making this assessment. It is difficult for us to project future taxable income as the timing and size of sales of our products are variable and difficult to predict. We concluded that it is not more likely than not that we will utilize our deferred tax assets other than those that are offset by reversing temporary differences.</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">27</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Results of Operations</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following tables set forth our operating results for the periods presented and as a percentage of our total sales for those periods. The period-to-period comparison of financial results is not necessarily indicative of financial results to be achieved in future periods.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:40.008%;"/>
    <td style="width:3.361%;"/>
    <td style="width:1%;"/>
    <td style="width:11.842%;"/>
    <td style="width:1%;"/>
    <td style="width:1.4%;"/>
    <td style="width:1%;"/>
    <td style="width:10.862%;"/>
    <td style="width:1%;"/>
    <td style="width:1.54%;"/>
    <td style="width:1%;"/>
    <td style="width:10.722%;"/>
    <td style="width:1%;"/>
    <td style="width:1.4%;"/>
    <td style="width:1%;"/>
    <td style="width:10.862%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Statement of Operations Data (in thousands):</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Sales</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">15,184</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">15,830</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">29,415</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">32,274</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cost of goods sold</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">9,036</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">9,551</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">17,691</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">19,677</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Gross profit</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">6,148</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">6,279</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">11,724</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">12,597</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:14pt;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Operating expenses:</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:28pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:28pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Research and development</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">3,116</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2,590</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">6,236</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">5,039</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:28pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:28pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Sales and marketing</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2,349</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2,305</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">4,507</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">5,171</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:28pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:28pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">General and administrative</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">3,188</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">3,596</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">6,115</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">7,389</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:28pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:28pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total operating expenses</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">8,653</span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">8,491</span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">16,858</span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">17,599</span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Loss from operations</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(2,505</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(2,212</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(5,134</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(5,002</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Other (income) expense</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(26</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(5</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(60</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(19</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Loss before income taxes</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(2,479</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(2,207</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(5,074</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(4,983</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Income tax expense (benefit)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">34</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(2</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(106</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">80</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net loss</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(2,513</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(2,205</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(4,968</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(5,063</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:40.008%;"/>
    <td style="width:2.941%;"/>
    <td style="width:1%;"/>
    <td style="width:12.243%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.283000000000001%;"/>
    <td style="width:1%;"/>
    <td style="width:1.12%;"/>
    <td style="width:1%;"/>
    <td style="width:11.123%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.283000000000001%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Statements of Operations Data:</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Sales</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">100.0</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">100.0</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">100.0</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">100.0</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cost of goods sold</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">59.5</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">60.3</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">60.1</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">61.0</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Gross profit</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">40.5</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">39.7</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">39.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">39.0</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
    <td style="text-indent:14pt;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Operating expenses:</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:28pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:28pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Research and development</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">20.5</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">16.4</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">21.2</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">15.6</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:28pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:28pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Sales and marketing</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">15.5</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">14.6</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">15.3</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">16.0</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:28pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:28pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">General and administrative</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">21.0</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">22.7</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">20.8</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">22.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:28pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:28pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total operating expenses</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">57.0</span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">53.7</span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">57.3</span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">54.5</span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Loss from operations</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(16.5</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(14.0</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(17.5</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(15.5</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Other (income) expense</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(0.2</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(0.1</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(0.3</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(0.1</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Loss before income taxes</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(16.3</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(13.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(17.2</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(15.4</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Income tax expense (benefit)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">0.3</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(0.0</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(0.3</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">0.3</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net loss</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(16.6</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(13.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(16.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(15.7</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Comparison of the Three and Six Months Ended June 30, 2024 and 2023 </span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:8pt;font-family:Arial;min-width:fit-content;">(dollars in thousands)</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Sales</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:42.991%;"/>
    <td style="width:4.999%;"/>
    <td style="width:1%;"/>
    <td style="width:10.338%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:10.338%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:9.838%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:10.497%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">% Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#c9effb;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Sales</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">15,184</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">15,830</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(646</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(4.1</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:42.38%;"/>
    <td style="width:5.96%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.32%;"/>
    <td style="width:1%;"/>
    <td style="width:10.04%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
    <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">% Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#c9effb;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Sales</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">29,415</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">32,274</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(2,859</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(8.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">28</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Sales for the three months ended June 30, 2024 decreased $0.6 million or 4.1% compared to the same period in the prior year. Consumer market sales decreased $1.4 million to $4.8 million for the three months ended June 30, 2024 from $6.2 million during the same period in the prior year, primarily due to demand softness with our cable and broadband operators. Automotive market sales decreased $0.6 million to $1.7 million for the three months ended June 30, 2024 from $2.3 million during the same period in the prior year, driven by excess inventory correction impacting our sales to aftermarket antenna customers. Enterprise market sales increased $1.3 million to $8.6 million for the three months ended June 30, 2024 from $7.3 million during the same period in the prior year, primarily due to channel correction of excess inventory in 2023 and the launch of new product lines.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Sales for the six months ended June 30, 2024 decreased $2.9 million or 8.9% compared to the same period in the prior year. Consumer market sales decreased $3.0 million to $8.3 million for the six months ended June 30, 2024 from $11.3 million during the same period in the prior year, primarily due to demand softness with our cable and broadband operators. Automotive market sales decreased $1.6 million to $3.6 million for the six months ended June 30, 2024 from $5.2 million during the same period in the prior year driven by excess inventory correction impacting our sales to aftermarket antenna customers. Enterprise market sales increased $1.7 million to $17.5 million for the six months ended June 30, 2024 from $15.8 million during the same period in the prior year primarily due to channel correction of excess inventory in 2023 and the launch of new product lines.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Cost of Goods Sold</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:46.309%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:9.802%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:10.882%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:10.682%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:10.323%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">% Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#c9effb;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cost of goods sold</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">9,036</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">9,551</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(515</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(5.4</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:42.38%;"/>
    <td style="width:5.96%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.32%;"/>
    <td style="width:1%;"/>
    <td style="width:10.04%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
    <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">% Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#c9effb;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cost of goods sold</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">17,691</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">19,677</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(1,986</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(10.1</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Cost of goods sold for the three months ended June 30, 2024 decreased $0.5 million or 5.4% compared to the same period in the prior year. Cost of goods sold for the six months ended June 30, 2024 decreased $2.0 million or 10.1% compared to the same period in the prior year. The declines for both periods were primarily due to sales decline.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Gross Profit</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:45.009%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.802%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:10.482000000000001%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:10.602%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:10.102%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
    <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">% Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Gross profit</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">6,148</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">6,279</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(131</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(2.1</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Gross profit (percentage of sales)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">40.5</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">39.7</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">0.8</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:42.397%;"/>
    <td style="width:5.962%;"/>
    <td style="width:1%;"/>
    <td style="width:9.604%;"/>
    <td style="width:1%;"/>
    <td style="width:1.721%;"/>
    <td style="width:1%;"/>
    <td style="width:9.604%;"/>
    <td style="width:1%;"/>
    <td style="width:1.721%;"/>
    <td style="width:1%;"/>
    <td style="width:9.624%;"/>
    <td style="width:1%;"/>
    <td style="width:1.321%;"/>
    <td style="width:1%;"/>
    <td style="width:10.044%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
    <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">% Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Gross profit</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">11,724</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">12,597</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(873</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(6.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Gross profit (percentage of sales)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">39.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">39.0</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">0.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Gross profit for the three months ended June 30, 2024 decreased $0.1 million or 2.1%, compared to the same period in the prior year, driven by lower sales. Gross profit as a percentage of sales for the three months ended June 30, 2024 increased by 80 basis points compared to the same period in the prior year. The increase was primarily driven by higher automotive and enterprise margins.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Gross profit for the six months ended June 30, 2024 decreased $0.9 million or 6.9% compared to the same period in the prior year, driven by lower sales. Gross profit as a percentage of sales for the six months ended June 30, 2024 increased by 90 basis points compared to the same period in the prior year. The increase was primarily driven by higher automotive and enterprise margins.</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">29</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Operating Expenses</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:42.38%;"/>
    <td style="width:5.96%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.32%;"/>
    <td style="width:1%;"/>
    <td style="width:10.04%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
    <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">% Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Research and development</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">3,116</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2,590</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">526</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">20.3</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Sales and marketing</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2,349</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2,305</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">44</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">1.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">General and administrative</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">3,188</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">3,596</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(408</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(11.3</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total operating expenses</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">8,653</span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">8,491</span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">162</span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">1.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:42.38%;"/>
    <td style="width:5.96%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.32%;"/>
    <td style="width:1%;"/>
    <td style="width:10.04%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
    <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">% Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Research and development</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">6,236</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">5,039</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">1,197</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">23.8</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Sales and marketing</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">4,507</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">5,171</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(664</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(12.8</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">General and administrative</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">6,115</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">7,389</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(1,274</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(17.2</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total operating expenses</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">16,858</span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">17,599</span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(741</span></p></td>
    <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(4.2</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Operating expenses for the three months ended June 30, 2024 increased $0.2 million or 1.9% compared to the same period in the prior year. The increase was driven by higher research and development expense offset by lower general and administration expenses.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Operating expenses for the six months ended June 30, 2024 decreased $0.7 million or 4.2% compared to the same period in the prior year. The decrease was driven by lower general administration and sales and marketing expenses, partially offset by higher research and development expenses.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Other (Income) Expense</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:43%;"/>
    <td style="width:1.66%;"/>
    <td style="width:1%;"/>
    <td style="width:11.68%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:10.34%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:11.34%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:1%;"/>
    <td style="width:10.98%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">% Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Interest income, net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(27</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(16</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(11</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">68.8</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Other expense (income)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">1</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">11</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(10</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(90.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total other income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(26</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(5</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(21</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">420.0</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:42.38%;"/>
    <td style="width:5.96%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.32%;"/>
    <td style="width:1%;"/>
    <td style="width:10.04%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
    <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">% Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Interest income, net</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(53</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(34</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(19</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">55.9</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Other (income) expense</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(7</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">15</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(22</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(146.7</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total other income</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(60</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(19</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(41</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">215.8</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Other expense consists primarily of foreign currency transaction remeasurement adjustments.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Income Tax Expense</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:42.388%;"/>
    <td style="width:5.961%;"/>
    <td style="width:1%;"/>
    <td style="width:9.622%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.622%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.622%;"/>
    <td style="width:1%;"/>
    <td style="width:1.32%;"/>
    <td style="width:1%;"/>
    <td style="width:10.021999999999998%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">% Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Income tax (benefit) expense</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">34</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(2</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">36</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(1800.0</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:42.38%;"/>
    <td style="width:5.96%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.72%;"/>
    <td style="width:1%;"/>
    <td style="width:9.62%;"/>
    <td style="width:1%;"/>
    <td style="width:1.32%;"/>
    <td style="width:1%;"/>
    <td style="width:10.04%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="14" style="vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
    <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">$ Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">% Change</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff3fd;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Income tax (benefit) expense</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(106</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">80</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(186</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(232.5</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)%</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">30</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Income tax expense for the three months ended June 30, 2024 increased $36,000 compared to the same period in the prior year. Income tax expense for the six months ended June 30, 2024 decreased $0.2 million or 232.5% compared to the same period in the prior year, primarily due to a decrease in the estimated income tax accrual.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Liquidity and Capital Resources</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We had cash and cash equivalents of $8.4 million at June 30, 2024.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Prior to 2013 and for the years ended 2018, 2020, 2021 2022, and 2023, we have incurred net losses. As a result, we have an accumulated deficit of $83.5 million at June 30, 2024.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We plan to continue to invest for long-term growth, including expanding our engineering and sales teams to execute on our product roadmap and further penetrate domestic and international markets. We anticipate that these investments will continue to increase in absolute dollars. We believe that our existing cash and cash equivalents balance will be sufficient to meet our working capital requirements for at least the next 12 months.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table presents a summary of our cash flow activity for the periods set forth below (in thousands):</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:57.091%;"/>
    <td style="width:7.562%;"/>
    <td style="width:1%;"/>
    <td style="width:18.224%;"/>
    <td style="width:1%;"/>
    <td style="width:1.8%;"/>
    <td style="width:1%;"/>
    <td style="width:11.322%;"/>
    <td style="width:1%;"/>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net cash used in operating activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(2,322</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(2,004</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net cash used in investing activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(150</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(104</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net cash provided by (used in) financing activities</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">3,012</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(525</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Effect of exchange rate changes on cash, cash equivalents and restricted cash</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(5</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#8212;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
    <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net increase (decrease) in cash, cash equivalents and restricted cash</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">535</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
    <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(2,633</span></p></td>
    <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Net cash used in operating activities. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Net cash used by operating activities was $2.3 million for the six months ended June 30, 2024. This was primarily driven by the net loss of $5.0 million and a $1.4 million net change in operating assets and liabilities, offset by $4.1 million in non-cash expenses.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Net cash used in investing activities. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Net cash used in investing activities of $0.2 million for the six months ended June 30, 2024 was for purchases of property and equipment.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Net cash provided by financing activities. </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Net cash provided by financing activities of $3.0 million for the six months ended June 30, 2024 was primarily from $3.0 million of net proceeds after fees and expenses from the issuance of approximately 629,000 shares of common stock via our ATM offering program. Additionally, we received $0.1 million from the proceeds of common stock issuances under the ESPP. These proceeds were partially offset by $0.1 million tax payments for net share settlement of restricted stock units.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Employee Retention Credit</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (CARES Act) was signed into law providing an employee retention credit (ERC), which is a refundable tax credit against certain employment taxes on qualified wages. The Taxpayer Certainty and Disaster Tax Relief Act of 2020, the American Rescue Plan Act of 2021 and the Infrastructure Investment and Jobs Act amended the qualifications for eligible employers who could apply and extended the availability of the ERC employment taxes on qualified wages paid after December 31, 2020 through September 30, 2021. We believe that we qualify for application of the ERC on qualified wages from the second quarter of 2020 through the third quarter of 2021.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In August 2023, we applied for ERC refunds, totaling $2.5 million, net of professional fees. Pending the Internal Revenue Service&#8217;s (IRS) review and determination of our eligibility, we are uncertain as to the timeframe of credit receipts. There is no assurance we will ultimately receive the amounts that we currently expect, if any, or the timeframe of any such receipt, based on IRS review or otherwise. As of June 30, 2024, we have not recognized the ERC in our financial statements.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Liquidity and Capital Resources Assessment</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">As of December 31, 2023, management performed the annual assessment of the Company's ability to meet its obligations as they become due within one year based on relevant conditions and events that are known and reasonably knowable. Following ASC 205-40 guidance, management considered quantitative and qualitative information to evaluate the Company's ability to meet obligations. Based on the analysis of the relevant conditions and events that are known and</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">31</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">reasonably known as of December 31, 2023, the Company concluded that it is probable that it will be able to meet all of its financial obligations as they become due in the year 2024.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The relevant conditions and events that are known and reasonably known as of June 30, 2024 related to the Company have not significantly changed since December 31, 2023. Therefore, the resulting cash inflows along with the existing funds are expected to be sufficient for the Company&#8217;s financial obligations as they become due in 2024.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Contractual Obligations and Commitments</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">There have been no material changes outside the ordinary course of our business during the six months ended June 30, 2024, to the information regarding our contractual obligations that was disclosed in Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations included in our Annual Report on Form 10-K for the year ended December 31, 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">At-the-Market Sales Agreement</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">On March 7, 2024, the Company entered into an At-the-Market Issuance Sales Agreement (the Sales Agreement) with Craig-Hallum Capital Group LLC (Craig-Hallum). Pursuant to the Sales Agreement, the Company may sell, at its option, up to an aggregate of $5.0 million in shares of its common stock through Craig-Hallum, as sales agent. Subject to the terms and conditions of the Sales Agreement, Craig-Hallum may sell the shares, if any, only by methods deemed to be an &#8220;at the market&#8221; offering as defined in Rule 415(a)(4) promulgated under the Securities Act of 1933, as amended (the Securities Act). The Company has agreed to pay Craig-Hallum a sales commission of 3.0% of the gross proceeds for sales under the Sales Agreement and to provide Craig-Hallum with customary indemnification and contribution rights, including for liabilities under the Securities Act. In addition, the Company is required to reimburse Craig-Hallum for certain specified expenses in connection with entering into the Sales Agreement.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company is not obligated to sell, and Craig-Hallum is not obligated to buy or sell, any shares of common stock under the Sales Agreement. No assurance can be given that the Company will sell any additional shares of common stock under the Sales Agreement, or, if it does, as to the price or amount of shares of common stock that the Company may sell or the dates when such sales will take place. As of June 30, 2024, $1.7 million remains available under the Sales Agreement for future sales of the Company&#8217;s common stock.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Critical Accounting Estimates</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Our management&#8217;s discussion and analysis of financial condition and operating results is based on our consolidated financial statements, which have been prepared in accordance with GAAP. The preparation of these consolidated financial statements requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities at the date of the consolidated financial statements, as well as the reported sales and expenses during the reporting periods. These items are monitored and analyzed by us for changes in facts and circumstances, and material changes in these estimates could occur in the future. We base our estimates on historical experience and on various other factors that we believe are reasonable under the circumstances, the results of which form the basis for making judgments about the carrying value of assets and liabilities that are not readily apparent from other sources. Changes in estimates are reflected in reported results for the period in which they become known. Actual results may differ materially from these estimates under different assumptions or conditions.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">There were no material changes to our critical accounting policies and estimates as compared to the critical accounting policies and estimates described in &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations &#8211; Critical Accounting Policies and Significant Judgments and Estimates,&#8221; in our Annual Report on Form 10-K for the year ended December 31, 2023.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Goodwill Impairment Assessment</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">For the annual goodwill impairment assessment, as of December 31, 2023, the Company determined that there were no events or circumstances that indicated that it is more likely than not that the fair value of a reporting unit may be less than its carrying amount. Based on the assessment performed, we concluded that an impairment charge to goodwill was not required as of December 31, 2023.</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">32</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company evaluated the goodwill impairment considerations as of June 30, 2024. The Company's current and expected cash flows, and the macro-economic and industry conditions have not significantly changed since the annual goodwill impairment assessment that was performed as of December 31, 2023, while the Company&#8217;s market capitalization materially increased since December 31, 2023. After assessing the totality of events or circumstances, the Company determined that there were no events or circumstances as of June 30, 2024 that indicate that it is more likely than not that the fair value of a reporting unit may be less than its carrying amount. Since there was no indication that it is more likely than not that the fair value of a reporting unit is less than its carrying amount, the Company determined that a quantitative goodwill impairment test was not necessary as of June 30, 2024. Based on the assessment performed, we concluded that an impairment charge to goodwill was not required as of June 30, 2024.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Certain future events and circumstances, including adverse changes in the business and economic conditions and changes in customer behavior could result in changes to our assumptions and judgments used in the impairment tests. A downward revision of these assumptions could cause the total fair value of our goodwill and intangible assets to fall below carrying values and a non-cash impairment charge would be required. Such a charge may have a material effect on the consolidated financial statements.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Recent Accounting Pronouncements</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">See Note 2, &#8220;Summary of Significant Accounting Policies&#8221; within the unaudited condensed consolidated financial statements.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="text-indent:-11.441%;padding-left:10.267%;font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_3_quantitative_qualitative_disclosu"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">ITEM 3. QUANTITATIVE AND QUALITATI</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">VE DISCLOSURES ABOUT MARKET RISK</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We are a smaller reporting company as defined by Rule 12b-2 of the Exchange Act and are not required to provide the information under this item.</span></p>
  <p style="text-indent:-11.441%;padding-left:10.267%;font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_4_controls_procedures"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">ITEM 4. CONTROLS</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"> AND PROCEDURES</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Conclusion Regarding the Effectiveness of Disclosure Controls and Procedures</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We maintain disclosure controls and procedures that are designed to ensure that information required to be disclosed in our periodic and current reports that we file with the SEC is recorded, processed, summarized and reported within the time periods specified in the SEC&#8217;s rules and forms, and that such information is accumulated and communicated to our management, including our principal executive officer and principal financial officer, as appropriate, to allow timely decisions regarding required disclosure. In designing and evaluating the disclosure controls and procedures, management recognized that any controls and procedures, no matter how well designed and operated, can provide only reasonable and not absolute assurance of achieving the desired control objectives. In reaching a reasonable level of assurance, management necessarily was required to apply its judgment in evaluating the cost-benefit relationship of possible controls and procedures. In addition, the design of any system of controls also is based in part upon certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated goals under all potential future conditions; over time, controls may become inadequate because of changes in conditions, or the degree of compliance with policies or procedures may deteriorate. Because of the inherent limitations in a cost-effective control system, misstatements due to error or fraud may occur and not be detected.</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Our management, with the participation of our principal executive officer and principal financial officer, has evaluated the effectiveness of our disclosure controls and procedures as defined in Rules 13a-15(e) and 15d-15(e) under the Exchange Act, as of the end of the period covered by this quarterly report on Form 10-Q.Based on such evaluation, our principal executive officer and principal financial officer have concluded that as of such date, our disclosure controls and procedures were effective at the reasonable assurance level.</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Changes in Internal Control Over Financial Reporting</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">There have been no changes in our internal control over financial reporting (as defined in Rules 13a-15(f) and 15d-15(f) under the Exchange Act) during the six months ended June 30, 2024, that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">33</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">PART II. OTHER INFORMATION</span></p>
  <p style="text-indent:-11.441%;padding-left:10.267%;font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_1_legal_proceedings"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">ITEM 1. LEGAL</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"> PROCEEDINGS</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">From time to time, we may be a party to legal proceedings and subject to claims incident in the ordinary course of business. Although the results of litigation and claims cannot be predicted with certainty, we believe that the final outcome of these matters will not have a material adverse effect on our financial condition or business. Regardless of the outcome, litigation can have an adverse impact on us because of defense and settlement costs, diversion of management resources, and other factors.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_1a_risk_factors"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">ITEM 1A. RI</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">SK FACTORS</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">A description of the risk factors associated with our business is included in Item 1A of our Annual Report on Form 10-K for the year ended December 31, 2023. There have been no material changes to such risk factors. In evaluating our business, you should carefully consider the risk factors discussed in our Annual Report on Form 10-K. The occurrence of any of the risks discussed in such filings, or other events that we do not currently anticipate or that we currently deem immaterial, could harm our business, prospects, financial condition and results of operations. In that case the trading price of our common stock could decline, and you may lose all or part of your investment.</span></p>
  <p style="text-indent:-11.441%;padding-left:10.267%;font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_2_unregistered_sales_equity_securit"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">ITEM 2. UNREGISTERED SALES OF EQUI</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">TY SECURITIES AND USE OF PROCEEDS</span></p>
  <p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Unregistered Sales of Equity Securities</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">None.</span></p>
  <p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_3_defaults_upon_senior_securities"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">ITEM 3.	DEFAULTS UPO</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">N SENIOR SECURITIES</span></p>
  <p style="text-indent:-11.441%;padding-left:10.267%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">None.</span></p>
  <p style="text-indent:-11.441%;padding-left:10.267%;font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_4_mine_safety_disclosures"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">ITEM 4. MINE SAF</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">ETY DISCLOSURES</span></p>
  <p style="text-indent:-11.441%;padding-left:10.267%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">None.</span></p>
  <p style="text-indent:-11.441%;padding-left:10.267%;font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_5_or_information"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">ITEM 5. OTHER</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"> INFORMATION</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Director and Officer Trading Arrangements:</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Rule 10b5-1 Trading Plans</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"> </span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">From time to time, our officers (as defined in Rule 16a-1(f) of the Exchange Act) and directors may enter into Rule 10b5-1 or non-Rule 10b5-1 trading arrangements (as each such term is defined in Item 408 of Regulation S-K). During the three months ended June 30, 2024</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">, none of our officers or directors </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_0d45d7bb-5eb2-4679-a5df-bc05680c9f0e" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="ecd:Rule10b51ArrAdoptedFlag" format="ixt:fixed-false"><ix:nonNumeric id="F_8a795cc4-e74f-413f-9f08-3a39fcc4d461" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="ecd:NonRule10b51ArrAdoptedFlag" format="ixt:fixed-false"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">adopted</span></ix:nonNumeric></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">, </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_e70773b5-1ece-499b-bda8-ddbf19e3a5f4" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="airg:Rule10B51ArrModifiedFlag" format="ixt:fixed-false"><ix:nonNumeric id="F_7c8e1785-098a-46f5-ae00-b90f99f6b1b4" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="airg:NonRule10B51ArrModifiedFlag" format="ixt:fixed-false"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">modified</span></ix:nonNumeric></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> or </span><span style="font-size:10pt;font-family:Arial;"><ix:nonNumeric id="F_a27dbde2-5854-41ed-90ec-11add91e92e6" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="ecd:Rule10b51ArrTrmntdFlag" format="ixt:fixed-false"><ix:nonNumeric id="F_7a557e53-b563-41d1-b7f5-c063bff6e59d" contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665" name="ecd:NonRule10b51ArrTrmntdFlag" format="ixt:fixed-false"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">terminated</span></ix:nonNumeric></ix:nonNumeric></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> any such trading arrangements.</span></p>
  <p style="text-indent:-11.441%;padding-left:10.267%;font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;" id="item_6_exhibits"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">ITEM 6. E</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">XHIBITS</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:11.46%;"/>
    <td style="width:1%;"/>
    <td style="width:87.54%;"/>
   </tr>
   <tr style="height:8pt;white-space:pre-wrap;word-break:break-word;text-align:left;">
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Exhibit</span></p><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Number</span></p></td>
    <td style="vertical-align:top;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><p style="font-size:8pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Description</span></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">3.1</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;">(1)</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/1272842/000119312516684194/d416747dex31.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Amended and Restated Certificate of Incorporation</span></a></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">3.2</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;">(2)</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/1272842/000095017023001895/airg-ex3_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Amended and Restated Bylaws</span></a></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">4.1</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;">(3)</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="https://www.sec.gov/Archives/edgar/data/1272842/000119312516663212/d168839dex41.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Specimen stock certificate evidencing the shares of common stock</span></a></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">31.1</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="airg-ex31_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Certification of Principal Executive Officer pursuant to Rules 13a-14 and 15d-14 promulgated pursuant to the Securities Exchange Act of 1934, as amended</span></a></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;31.2</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="airg-ex31_2.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Certification of Principal Financial Officer pursuant to Rules 13a-14 and 15d-14 promulgated pursuant to the Securities Exchange Act of 1934, as amended</span></a></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">34</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:11.46%;"/>
    <td style="width:1%;"/>
    <td style="width:87.54%;"/>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;32.1*</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="airg-ex32_1.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Certification pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</span></a></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;32.2*</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><a href="airg-ex32_2.htm"><span style="color:#0000ff;white-space:pre-wrap;text-decoration:underline;font-family:Arial;min-width:fit-content;">Certification pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</span></a></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">101.INS</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#545454;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Inline XBRL Taxonomy Extension Schema With Embedded Linkbase Documents</span></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">101.SCH</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Inline XBRL Taxonomy Extension Schema Document</span></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:middle;"><p style="font-size:6pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">104</span></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cover Page Interactive Data File (formatted as inline XBRL and contained in Exhibit 101)</span></p></td>
   </tr>
  </table>
  <div class="item-list-element-wrapper" style="display:flex;margin-top:3pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:2.667%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:7pt;font-family:Arial;min-width:2.667%;display:inline-flex;justify-content:flex-start;">(1)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">Incorporated by reference to the Registrant&#8217;s Current Report on Form 8-K, filed with the SEC on August 17, 2016.</span></div></div>
  <div class="item-list-element-wrapper" style="display:flex;margin-top:3pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:2.667%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:7pt;font-family:Arial;min-width:2.667%;display:inline-flex;justify-content:flex-start;">(2)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">Incorporated by reference to the Registrant&#8217;s Current Report on Form 8-K, filed with the SEC on February 6, 2023.</span></div></div>
  <div class="item-list-element-wrapper" style="display:flex;margin-top:3pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:2.667%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:7pt;font-family:Arial;min-width:2.667%;display:inline-flex;justify-content:flex-start;">(3)</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">Incorporated by reference to Amendment No. 1 to the Registrant&#8217;s Registration Statement on Form S-1 (Registration No. 333- 212542), filed with the SEC on July 29, 2016.</span></div></div>
  <p style="text-indent:-2.74%;padding-left:2.667%;font-size:10pt;margin-top:3pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">*     These certifications are being furnished solely to accompany this quarterly report pursuant to 18 U.S.C. Section 1350, and are not being filed for purposes of Section 18 of the Securities Exchange Act of 1934 and are not to be incorporated by reference into any filing of the Registrant, whether made before or after the date hereof, regardless of any general incorporation language in such filing.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">35</span></p></div></div>
  <hr style="page-break-after:always;"/>
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;">&#160;</p></div>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="signatures"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">SIGNA</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">TURES</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned thereunto duly authorized.</span></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:58%;"/>
    <td style="width:2%;"/>
    <td style="width:40%;"/>
   </tr>
   <tr style="height:4.95pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">AIRGAIN, INC.</span></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:12pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Date: August 6, 2024</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">/s/ Jacob Suen</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Jacob Suen</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">President and Chief Executive Officer</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(principal executive officer)</span></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Date: August 6, 2024</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">/s/ Michael Elbaz</span></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Michael Elbaz</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Chief Financial Officer</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(principal financial and accounting officer)</span></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
   <tr style="white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:7pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">36</span></p></div></div>
  <hr style="page-break-after:always;"/>
 </body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>airg-ex31_1.htm
<DESCRIPTION>EX-31.1
<TEXT>
<html>
 <head>
  <title>EX-31.1</title>
 </head>
 <body style="margin: auto!important;padding: 8px;">
  <div style="padding-top:0.5in;min-height:0.5in;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Exhibit 31.1</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">CERTIFICATION OF PRINCIPAL EXECUTIVE OFFICER</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">I, Jacob Suen, certify that:</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">1. I have reviewed this quarterly report on Form 10-Q of Airgain, Inc.;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">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;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">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;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">4. The registrant&#x2019;s other certifying officer(s) 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:</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">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;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">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;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">c. evaluated the effectiveness of the registrant&#x2019;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</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">d. disclosed in this report any change in the registrant&#x2019;s internal control over financial reporting that occurred during the registrant&#x2019;s most recent fiscal quarter (the registrant&#x2019;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#x2019;s internal control over financial reporting; and</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">5. The registrant&#x2019;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#x2019;s auditors and the audit committee of the registrant&#x2019;s board of directors (or persons performing the equivalent functions):</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">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&#x2019;s ability to record, process, summarize and report financial information; and</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">b. any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#x2019;s internal control over financial reporting.</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</font></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:40%;"></td>
    <td style="width:20%;"></td>
    <td style="width:40%;"></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Date: August 6, 2024</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">/s/ Jacob Suen</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Jacob Suen</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">President and Chief Executive Officer</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(principal executive officer)</font></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;padding-bottom:0.5in;min-height:0.5in;justify-content:flex-end;box-sizing:border-box;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p></div></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>airg-ex31_2.htm
<DESCRIPTION>EX-31.2
<TEXT>
<html>
 <head>
  <title>EX-31.2</title>
 </head>
 <body style="margin: auto!important;padding: 8px;">
  <div style="min-height:0.5in;"></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Exhibit 31.2</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">CERTIFICATION OF PRINCIPAL FINANCIAL OFFICER</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">PURSUANT TO SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">I, Michael Elbaz, certify that:</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">1. I have reviewed this quarterly report on Form 10-Q of Airgain, Inc.;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">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;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">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;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">4. The registrant&#x2019;s other certifying officer(s) 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:</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">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;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">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;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">c. evaluated the effectiveness of the registrant&#x2019;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</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">d. disclosed in this report any change in the registrant&#x2019;s internal control over financial reporting that occurred during the registrant&#x2019;s most recent fiscal quarter (the registrant&#x2019;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#x2019;s internal control over financial reporting; and</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">5. The registrant&#x2019;s other certifying officer(s) and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#x2019;s auditors and the audit committee of the registrant&#x2019;s board of directors (or persons performing the equivalent functions):</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">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&#x2019;s ability to record, process, summarize and report financial information; and</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">b. any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#x2019;s internal control over financial reporting.</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</font></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:40%;"></td>
    <td style="width:20%;"></td>
    <td style="width:40%;"></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Date: August 6, 2024</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">/s/ Michael Elbaz</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Michael Elbaz</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Chief Financial Officer and Secretary</font></p></td>
   </tr>
   <tr style="height:10pt;white-space:pre-wrap;word-break:break-word;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(principal financial officer)</font></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;min-height:0.5in;justify-content:flex-end;"></div></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>airg-ex32_1.htm
<DESCRIPTION>EX-32.1
<TEXT>
<html>
 <head>
  <title>EX-32.1</title>
 </head>
 <body style="margin: auto!important;padding: 8px;">
  <div style="min-height:0.5in;"></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Exhibit 32.1</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350,</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">AS ADOPTED PURSUANT TO</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In connection with the quarterly report of Airgain, Inc. (the &#x201c;Company&#x201d;) on Form 10-Q for the quarter ended June 30, 2024, as filed with the Securities and Exchange Commission on the date hereof (the &#x201c;Report&#x201d;), I, Jacob Suen, 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, to my knowledge:</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(1) The Report fully complies with the requirements of Section 13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended; and</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(2) The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</font></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:40%;"></td>
    <td style="width:20%;"></td>
    <td style="width:40%;"></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Date: August 6, 2024</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">/s/ Jacob Suen</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Jacob Suen</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">President and Chief Executive Officer</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(principal executive officer)</font></p></td>
   </tr>
   <tr style="word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The foregoing certification is being furnished solely pursuant to 18 U.S.C. Section 1350 and is not being filed as part of the Report or as a separate disclosure document.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;min-height:0.5in;justify-content:flex-end;"></div></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>5
<FILENAME>airg-ex32_2.htm
<DESCRIPTION>EX-32.2
<TEXT>
<html>
 <head>
  <title>EX-32.2</title>
 </head>
 <body style="margin: auto!important;padding: 8px;">
  <div style="min-height:0.5in;"></div>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:right;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Exhibit 32.2</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">CERTIFICATION PURSUANT TO 18 U.S.C. SECTION 1350,</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">AS ADOPTED PURSUANT TO</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;" id="exsox906cfo"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">SECTION </font><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">906 OF THE SARBANES-OXLEY ACT OF 2002</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In connection with the quarterly report of Airgain, Inc. (the &#x201c;Company&#x201d;) on Form 10-Q for the quarter ended June 30, 2024, as filed with the Securities and Exchange Commission on the date hereof (the &#x201c;Report&#x201d;), I, Michael Elbaz, Chief Financial Officer 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, to my knowledge:</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(1) The Report fully complies with the requirements of Section 13(a) or 15(d), as applicable, of the Securities Exchange Act of 1934, as amended; and</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(2) The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</font></p>
  <p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</font></p>
  <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
   <tr style="visibility:collapse;">
    <td style="width:40%;"></td>
    <td style="width:20%;"></td>
    <td style="width:40%;"></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Date: August 6, 2024</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;border-bottom:0.5pt solid;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">/s/ Michael Elbaz</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Michael Elbaz</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Chief Financial Officer and Secretary</font></p></td>
   </tr>
   <tr style="height:10pt;word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(principal financial officer)</font></p></td>
   </tr>
   <tr style="word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
   </tr>
   <tr style="word-break:break-word;white-space:pre-wrap;">
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
    <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</font></p></td>
   </tr>
  </table>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</font></p>
  <p style="font-size:10pt;margin-top:2pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The foregoing certification is being furnished solely pursuant to 18 U.S.C. Section 1350 and is not being filed as part of the Report or as a separate disclosure document.</font></p>
  <p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><font style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</font></p>
  <div class="page-node-content"><div style="flex-direction:column;display:flex;min-height:0.5in;justify-content:flex-end;"></div></div>
  <hr style="page-break-after:always;">
 </body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>6
<FILENAME>airg-20240630.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA WITH EMBEDDED LINKBASES DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!-- DFIN New ActiveDisclosure (SM) XBRL Schema Document - http://www.dfinsolutions.com/ -->
<!-- Creation Date :2024-08-06T17:21:16.9992+00:00 -->
<!-- Copyright (c) 2024 Donnelly Financial Solutions, Inc. All Rights Reserved. -->
<xsd:schema targetNamespace="http://www.airgain.com/20240630" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:ecd-sub="http://xbrl.sec.gov/ecd-sub/2024" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:airg="http://www.airgain.com/20240630" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:srt="http://fasb.org/srt/2024" xmlns:stpr="http://xbrl.sec.gov/stpr/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:calc="https://xbrl.org/2023/calculation-1.1" xmlns:xlink="http://www.w3.org/1999/xlink">
  <xsd:import schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" namespace="http://www.xbrl.org/2003/instance"/>
  <xsd:import schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" namespace="http://www.xbrl.org/2003/linkbase"/>
  <xsd:import schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" namespace="http://xbrl.org/2005/xbrldt"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/country/2024/country-2024.xsd" namespace="http://xbrl.sec.gov/country/2024"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd" namespace="http://xbrl.sec.gov/stpr/2024"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd" namespace="http://xbrl.sec.gov/ecd-sub/2024"/>
  <xsd:import schemaLocation="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd" namespace="http://fasb.org/srt/2024"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/dei/2024/dei-2024.xsd" namespace="http://xbrl.sec.gov/dei/2024"/>
  <xsd:import schemaLocation="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd" namespace="http://fasb.org/us-gaap/2024"/>
  <xsd:import schemaLocation="https://www.xbrl.org/2023/calculation-1.1.xsd" namespace="https://xbrl.org/2023/calculation-1.1"/>
  <xsd:import schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" namespace="http://www.xbrl.org/dtr/type/2022-03-31"/>
  <xsd:import schemaLocation="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd" namespace="http://xbrl.sec.gov/ecd/2024"/>
  <xsd:annotation>
    <xsd:appinfo>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation" id="Role_DocumentDocumentAndEntityInformation">
        <link:definition>100000 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" id="StatementCondensedConsolidatedBalanceSheetsUnaudited">
        <link:definition>100010 - Statement - Condensed Consolidated Balance Sheets (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical" id="StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical">
        <link:definition>100020 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails3" id="DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails3">
        <link:definition>100030 - Disclosure - Leases - Schedule of Future Minimum Lease Payments on Operating Leases (Details) 3</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" id="StatementCondensedConsolidatedStatementsOfOperationsUnaudited">
        <link:definition>100040 - Statement - Condensed Consolidated Statements of Operations (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails4" id="DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails4">
        <link:definition>100050 - Disclosure - Leases - Schedule of Future Minimum Lease Payments on Operating Leases (Details) 4</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" id="StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited">
        <link:definition>100060 - Statement - Condensed Consolidated Statements of Comprehensive Loss (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" id="StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited">
        <link:definition>100070 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" id="StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited">
        <link:definition>100080 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDescriptionOfBusinessAndBasisOfPresentation" id="Role_DisclosureDescriptionOfBusinessAndBasisOfPresentation">
        <link:definition>995455 - Disclosure - Description of Business and Basis of Presentation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies" id="Role_DisclosureSummaryOfSignificantAccountingPolicies">
        <link:definition>995465 - Disclosure - Summary of Significant Accounting Policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShare" id="DisclosureNetLossPerShare">
        <link:definition>995475 - Disclosure - Net Loss Per Share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinations" id="DisclosureBusinessCombinations">
        <link:definition>995485 - Disclosure - Business Combinations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalents" id="DisclosureCashAndCashEquivalents">
        <link:definition>995495 - Disclosure - Cash and Cash Equivalents</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureInventory1" id="DisclosureInventory1">
        <link:definition>995505 - Disclosure - Inventory</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipment" id="Role_DisclosurePropertyAndEquipment">
        <link:definition>995515 - Disclosure - Property and Equipment</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwill" id="DisclosureIntangibleAssetsAndGoodwill">
        <link:definition>995525 - Disclosure - Intangible Assets and Goodwill</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOther" id="DisclosureAccruedLiabilitiesAndOther">
        <link:definition>995535 - Disclosure - Accrued Liabilities and Other</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCredit" id="Role_DisclosureNotesPayableAndLineOfCredit">
        <link:definition>995545 - Disclosure - Notes Payable and Line of Credit</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeases" id="DisclosureLeases">
        <link:definition>995555 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStock" id="Role_DisclosureTreasuryStock">
        <link:definition>995565 - Disclosure - Treasury Stock</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureIncomeTaxes" id="Role_DisclosureIncomeTaxes">
        <link:definition>995575 - Disclosure - Income Taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquity1" id="DisclosureStockholdersEquity1">
        <link:definition>995585 - Disclosure - Stockholders' Equity</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensation" id="Role_DisclosureStockBasedCompensation">
        <link:definition>995595 - Disclosure - Stock Based Compensation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingencies" id="Role_DisclosureCommitmentsAndContingencies">
        <link:definition>995605 - Disclosure - Commitments and Contingencies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrations" id="DisclosureConcentrations">
        <link:definition>995615 - Disclosure - Concentrations</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenue" id="DisclosureRevenue">
        <link:definition>995625 - Disclosure - Revenue</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEvents" id="DisclosureSubsequentEvents">
        <link:definition>995635 - Disclosure - Subsequent Events</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" id="DisclosureSummaryOfSignificantAccountingPoliciesPolicies">
        <link:definition>995645 - Disclosure - Summary of Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareTables" id="DisclosureNetLossPerShareTables">
        <link:definition>995655 - Disclosure - Net Loss Per Share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinationsTables" id="DisclosureBusinessCombinationsTables">
        <link:definition>995665 - Disclosure - Business Combinations (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsTables" id="DisclosureCashAndCashEquivalentsTables">
        <link:definition>995675 - Disclosure - Cash and Cash Equivalents (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryTables" id="DisclosureInventoryTables">
        <link:definition>995685 - Disclosure - Inventory (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentTables" id="Role_DisclosurePropertyAndEquipmentTables">
        <link:definition>995695 - Disclosure - Property and Equipment (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillTables" id="DisclosureIntangibleAssetsAndGoodwillTables">
        <link:definition>995705 - Disclosure - Intangible Assets and Goodwill (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherTables" id="DisclosureAccruedLiabilitiesAndOtherTables">
        <link:definition>995715 - Disclosure - Accrued Liabilities and Other (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesTables" id="DisclosureLeasesTables">
        <link:definition>995725 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityTables" id="DisclosureStockholdersEquityTables">
        <link:definition>995735 - Disclosure - Stockholders' Equity (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationTables" id="Role_DisclosureStockBasedCompensationTables">
        <link:definition>995745 - Disclosure - Stock Based Compensation (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureCommitmentsAndContingenciesTables" id="DisclosureCommitmentsAndContingenciesTables">
        <link:definition>995755 - Disclosure - Commitments and Contingencies (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationTables" id="DisclosureConcentrationTables">
        <link:definition>995765 - Disclosure - Concentration (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueTables" id="DisclosureRevenueTables">
        <link:definition>995775 - Disclosure - Revenue (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDescriptionOfBusinessAndBasisOfPresentationAdditionalInformationDetails" id="Role_DisclosureDescriptionOfBusinessAndBasisOfPresentationAdditionalInformationDetails">
        <link:definition>995785 - Disclosure - Description of Business and Basis of Presentation - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" id="DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails">
        <link:definition>995795 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfComputationOfNetLossPerShareDetails" id="DisclosureNetLossPerShareSummaryOfComputationOfNetLossPerShareDetails">
        <link:definition>995805 - Disclosure - Net Loss Per Share - Summary of Computation of Net Loss Per Share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails" id="DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails">
        <link:definition>995815 - Disclosure - Net Loss Per Share - Summary of Potentially Dilutive Securities (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails" id="DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails">
        <link:definition>995825 - Disclosure - Cash and Cash Equivalents - Schedule of Cash and Cash Equivalents by Significant Investment Category (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsAdditionalInformationDetails" id="DisclosureCashAndCashEquivalentsAdditionalInformationDetails">
        <link:definition>995835 - Disclosure - Cash and Cash Equivalents (Additional Information) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails" id="DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails">
        <link:definition>995845 - Disclosure - Inventory - Schedule of Inventory and Consigned Inventories, Current (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryAdditionalInformationDetails" id="DisclosureInventoryAdditionalInformationDetails">
        <link:definition>995855 - Disclosure - Inventory (Additional Information) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails" id="Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails">
        <link:definition>995865 - Disclosure - Property and Equipment - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails" id="Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails">
        <link:definition>995875 - Disclosure - Property and Equipment - Schedule of Property and Equipment (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails" id="DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails">
        <link:definition>995885 - Disclosure - Intangible Assets and Goodwill - Summary of Acquired Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillScheduleOfEstimatedAnnualAmortizationOfIntangibleAssetsDetails" id="DisclosureIntangibleAssetsAndGoodwillScheduleOfEstimatedAnnualAmortizationOfIntangibleAssetsDetails">
        <link:definition>995895 - Disclosure - Intangible Assets and Goodwill - Schedule of Estimated Annual Amortization of Intangible Assets (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillAdditionalInformationDetails" id="DisclosureIntangibleAssetsAndGoodwillAdditionalInformationDetails">
        <link:definition>995905 - Disclosure - Intangible Assets and Goodwill - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherSummaryOfAccruedLiabilitiesAndOtherDetails" id="DisclosureAccruedLiabilitiesAndOtherSummaryOfAccruedLiabilitiesAndOtherDetails">
        <link:definition>995915 - Disclosure - Accrued Liabilities and Other - Summary of Accrued Liabilities and Other (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails" id="Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails">
        <link:definition>995925 - Disclosure - Notes Payable and Line of Credit - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails" id="DisclosureLeasesAdditionalInformationDetails">
        <link:definition>995935 - Disclosure - Leases - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails" id="DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails">
        <link:definition>995945 - Disclosure - Leases - Schedule of Future Minimum Lease Payments on Operating Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails" id="Role_DisclosureTreasuryStockAdditionalInformationDetails">
        <link:definition>995955 - Disclosure - Treasury Stock - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails" id="Role_DisclosureIncomeTaxesAdditionalInformationDetails">
        <link:definition>995965 - Disclosure - Income Taxes - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails" id="DisclosureStockholdersEquityAdditionalInformationDetails">
        <link:definition>995975 - Disclosure - Stockholders' Equity - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails" id="DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails">
        <link:definition>995985 - Disclosure - Stockholders' Equity - Schedule of Common Stock Reserved for Future Issuance (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails" id="DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails">
        <link:definition>995995 - Disclosure - Stockholders' Equity- Schedule of Common Stock Reserved for Future Issuance (Parenthetical) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails" id="DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails">
        <link:definition>996005 - Disclosure - Stockholders' Equity - Schedule of the Company's ATM sales activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails" id="DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails">
        <link:definition>996015 - Disclosure - Stock Based Compensation - Schedule Of Stock Based Compensation Expenses (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationExpenseParentheticalDetails" id="DisclosureStockBasedCompensationExpenseParentheticalDetails">
        <link:definition>996025 - Disclosure - Stock Based Compensation expense (Parenthetical) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails" id="Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails">
        <link:definition>996035 - Disclosure - Stock Based Compensation - Summary of Outstanding Stock Option Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails" id="Role_DisclosureStockBasedCompensationAdditionalInformationDetails">
        <link:definition>996045 - Disclosure - Stock Based Compensation - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails" id="Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails">
        <link:definition>996055 - Disclosure - Stock Based Compensation - Summary of Outstanding Restricted Stock Unit Activity (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails" id="DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails">
        <link:definition>996065 - Disclosure - Stock Based Compensation - Company's share-settled obligation RSU grants (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails" id="Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails">
        <link:definition>996075 - Disclosure - Commitments and Contingencies - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureCommitmentsAndContingenciesScheduleOfLiabilityRecordedRelatedToSeveranceAndExitCostsDetails" id="DisclosureCommitmentsAndContingenciesScheduleOfLiabilityRecordedRelatedToSeveranceAndExitCostsDetails">
        <link:definition>996085 - Disclosure - Commitments and Contingencies - Schedule of liability recorded related to severance and exit costs (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails" id="DisclosureConcentrationAdditionalInformationDetails">
        <link:definition>996095 - Disclosure - Concentration - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails" id="DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails">
        <link:definition>996105 - Disclosure - Concentration - Schedule of Concentration of Sales and Accounts Receivable (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails" id="DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails">
        <link:definition>996115 - Disclosure - Concentration - Schedule of Concentration of Fixed Assets by Geographical Regions (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDisaggregatedRevenueSummaryOfDisaggregatedRevenueBySalesChannelDetails" id="Role_DisclosureDisaggregatedRevenueSummaryOfDisaggregatedRevenueBySalesChannelDetails">
        <link:definition>996125 - Disclosure - Disaggregated Revenue - Summary of Disaggregated Revenue By Sales Channel (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails" id="DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails">
        <link:definition>996135 - Disclosure - Revenue - Summary of Disaggregated Revenue By Market Group (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails" id="DisclosureRevenuesAdditionalInformationDetails">
        <link:definition>996145 - Disclosure - Revenues - Additional Information (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails" id="DisclosureSubsequentEventsAdditionalInformationDetails">
        <link:definition>996155 - Disclosure - Subsequent Events (Additional Information) (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:linkbase id="lnk">
        <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="http://www.esma.europa.eu/xbrl/esef/arcrole/wider-narrower" xlink:href="http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd#wider-narrower" xlink:type="simple"/>
        <link:arcroleRef arcroleURI="https://xbrl.org/2023/arcrole/summation-item" xlink:href="https://www.xbrl.org/2023/calculation-1.1.xsd#summation-item" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation" xlink:href="airg-20240630.xsd#Role_DocumentDocumentAndEntityInformation" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" xlink:href="airg-20240630.xsd#StatementCondensedConsolidatedBalanceSheetsUnaudited" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical" xlink:href="airg-20240630.xsd#StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" xlink:href="airg-20240630.xsd#StatementCondensedConsolidatedStatementsOfOperationsUnaudited" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" xlink:href="airg-20240630.xsd#StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" xlink:href="airg-20240630.xsd#StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:href="airg-20240630.xsd#StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:type="simple"/>
        <link:roleRef roleURI="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#InsiderTradingArrangements" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDescriptionOfBusinessAndBasisOfPresentation" xlink:href="airg-20240630.xsd#Role_DisclosureDescriptionOfBusinessAndBasisOfPresentation" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies" xlink:href="airg-20240630.xsd#Role_DisclosureSummaryOfSignificantAccountingPolicies" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShare" xlink:href="airg-20240630.xsd#DisclosureNetLossPerShare" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinations" xlink:href="airg-20240630.xsd#DisclosureBusinessCombinations" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalents" xlink:href="airg-20240630.xsd#DisclosureCashAndCashEquivalents" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureInventory1" xlink:href="airg-20240630.xsd#DisclosureInventory1" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipment" xlink:href="airg-20240630.xsd#Role_DisclosurePropertyAndEquipment" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwill" xlink:href="airg-20240630.xsd#DisclosureIntangibleAssetsAndGoodwill" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOther" xlink:href="airg-20240630.xsd#DisclosureAccruedLiabilitiesAndOther" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCredit" xlink:href="airg-20240630.xsd#Role_DisclosureNotesPayableAndLineOfCredit" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeases" xlink:href="airg-20240630.xsd#DisclosureLeases" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStock" xlink:href="airg-20240630.xsd#Role_DisclosureTreasuryStock" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureIncomeTaxes" xlink:href="airg-20240630.xsd#Role_DisclosureIncomeTaxes" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquity1" xlink:href="airg-20240630.xsd#DisclosureStockholdersEquity1" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensation" xlink:href="airg-20240630.xsd#Role_DisclosureStockBasedCompensation" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingencies" xlink:href="airg-20240630.xsd#Role_DisclosureCommitmentsAndContingencies" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrations" xlink:href="airg-20240630.xsd#DisclosureConcentrations" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenue" xlink:href="airg-20240630.xsd#DisclosureRevenue" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEvents" xlink:href="airg-20240630.xsd#DisclosureSubsequentEvents" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" xlink:href="airg-20240630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareTables" xlink:href="airg-20240630.xsd#DisclosureNetLossPerShareTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinationsTables" xlink:href="airg-20240630.xsd#DisclosureBusinessCombinationsTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsTables" xlink:href="airg-20240630.xsd#DisclosureCashAndCashEquivalentsTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryTables" xlink:href="airg-20240630.xsd#DisclosureInventoryTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentTables" xlink:href="airg-20240630.xsd#Role_DisclosurePropertyAndEquipmentTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillTables" xlink:href="airg-20240630.xsd#DisclosureIntangibleAssetsAndGoodwillTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherTables" xlink:href="airg-20240630.xsd#DisclosureAccruedLiabilitiesAndOtherTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesTables" xlink:href="airg-20240630.xsd#DisclosureLeasesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityTables" xlink:href="airg-20240630.xsd#DisclosureStockholdersEquityTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationTables" xlink:href="airg-20240630.xsd#Role_DisclosureStockBasedCompensationTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureCommitmentsAndContingenciesTables" xlink:href="airg-20240630.xsd#DisclosureCommitmentsAndContingenciesTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationTables" xlink:href="airg-20240630.xsd#DisclosureConcentrationTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueTables" xlink:href="airg-20240630.xsd#DisclosureRevenueTables" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDescriptionOfBusinessAndBasisOfPresentationAdditionalInformationDetails" xlink:href="airg-20240630.xsd#Role_DisclosureDescriptionOfBusinessAndBasisOfPresentationAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" xlink:href="airg-20240630.xsd#DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfComputationOfNetLossPerShareDetails" xlink:href="airg-20240630.xsd#DisclosureNetLossPerShareSummaryOfComputationOfNetLossPerShareDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails" xlink:href="airg-20240630.xsd#DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails" xlink:href="airg-20240630.xsd#DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsAdditionalInformationDetails" xlink:href="airg-20240630.xsd#DisclosureCashAndCashEquivalentsAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails" xlink:href="airg-20240630.xsd#DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryAdditionalInformationDetails" xlink:href="airg-20240630.xsd#DisclosureInventoryAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails" xlink:href="airg-20240630.xsd#Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails" xlink:href="airg-20240630.xsd#Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails" xlink:href="airg-20240630.xsd#DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillScheduleOfEstimatedAnnualAmortizationOfIntangibleAssetsDetails" xlink:href="airg-20240630.xsd#DisclosureIntangibleAssetsAndGoodwillScheduleOfEstimatedAnnualAmortizationOfIntangibleAssetsDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillAdditionalInformationDetails" xlink:href="airg-20240630.xsd#DisclosureIntangibleAssetsAndGoodwillAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherSummaryOfAccruedLiabilitiesAndOtherDetails" xlink:href="airg-20240630.xsd#DisclosureAccruedLiabilitiesAndOtherSummaryOfAccruedLiabilitiesAndOtherDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails" xlink:href="airg-20240630.xsd#Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails" xlink:href="airg-20240630.xsd#DisclosureLeasesAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails" xlink:href="airg-20240630.xsd#DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails" xlink:href="airg-20240630.xsd#Role_DisclosureTreasuryStockAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails" xlink:href="airg-20240630.xsd#Role_DisclosureIncomeTaxesAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails" xlink:href="airg-20240630.xsd#DisclosureStockholdersEquityAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails" xlink:href="airg-20240630.xsd#DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails" xlink:href="airg-20240630.xsd#DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails" xlink:href="airg-20240630.xsd#DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails" xlink:href="airg-20240630.xsd#DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationExpenseParentheticalDetails" xlink:href="airg-20240630.xsd#DisclosureStockBasedCompensationExpenseParentheticalDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails" xlink:href="airg-20240630.xsd#Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails" xlink:href="airg-20240630.xsd#Role_DisclosureStockBasedCompensationAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails" xlink:href="airg-20240630.xsd#Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails" xlink:href="airg-20240630.xsd#DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails" xlink:href="airg-20240630.xsd#Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureCommitmentsAndContingenciesScheduleOfLiabilityRecordedRelatedToSeveranceAndExitCostsDetails" xlink:href="airg-20240630.xsd#DisclosureCommitmentsAndContingenciesScheduleOfLiabilityRecordedRelatedToSeveranceAndExitCostsDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails" xlink:href="airg-20240630.xsd#DisclosureConcentrationAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails" xlink:href="airg-20240630.xsd#DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails" xlink:href="airg-20240630.xsd#DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDisaggregatedRevenueSummaryOfDisaggregatedRevenueBySalesChannelDetails" xlink:href="airg-20240630.xsd#Role_DisclosureDisaggregatedRevenueSummaryOfDisaggregatedRevenueBySalesChannelDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails" xlink:href="airg-20240630.xsd#DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails" xlink:href="airg-20240630.xsd#DisclosureRevenuesAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails" xlink:href="airg-20240630.xsd#DisclosureSubsequentEventsAdditionalInformationDetails" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails3" xlink:href="airg-20240630.xsd#DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails3" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails4" xlink:href="airg-20240630.xsd#DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails4" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" xlink:type="simple"/>
        <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" xlink:type="simple"/>
        <link:labelLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:title="labelLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryCurrentTable" xlink:label="us-gaap_InventoryCurrentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryTable" xlink:label="us-gaap_PublicUtilitiesInventoryTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember" xlink:label="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_StockOptionAwardsIssuedAndOutstandingMember" xlink:label="airg_StockOptionAwardsIssuedAndOutstandingMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_StockRepurchaseProgramAdditionalPeriodInForce1" xlink:label="airg_StockRepurchaseProgramAdditionalPeriodInForce1"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockIssuedThroughStockOptions" xlink:label="airg_CommonStockIssuedThroughStockOptions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossTaxAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_MajorCustomersMember" xlink:label="airg_MajorCustomersMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventorySuppliesMember" xlink:label="us-gaap_PublicUtilitiesInventorySuppliesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CashAndCashEquivalentsAndShortTermInvestmentsTable" xlink:label="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockTextBlock" xlink:label="us-gaap_TreasuryStockTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="us-gaap_ClassOfTreasuryStockTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockMember" xlink:label="us-gaap_EmployeeStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LeaseTerminationDate" xlink:label="airg_LeaseTerminationDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage" xlink:label="airg_LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDisclosuresAbstract" xlink:label="us-gaap_ClassOfStockDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WarrantMember" xlink:label="us-gaap_WarrantMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepurchaseAgreementsMember" xlink:label="us-gaap_RepurchaseAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_VN" xlink:label="country_VN"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerSalesChannelDomain" xlink:label="us-gaap_ContractWithCustomerSalesChannelDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="us-gaap_EquityClassOfTreasuryStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_NumberOfVendors" xlink:label="airg_NumberOfVendors"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AmortizationOfPrepaidAssets" xlink:label="airg_AmortizationOfPrepaidAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="us-gaap_ContractWithCustomerAssetNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseOptionToExtend" xlink:label="us-gaap_LesseeOperatingLeaseOptionToExtend"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_DeferredPurchasePriceLiabilitiesCurrent" xlink:label="airg_DeferredPurchasePriceLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_DescriptionOfBusinessPolicyTextBlock" xlink:label="airg_DescriptionOfBusinessPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareGrantedUponSettlementOfDebt" xlink:label="airg_ShareGrantedUponSettlementOfDebt"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_IncreaseDecreaseInLeaseLiabilities" xlink:label="airg_IncreaseDecreaseInLeaseLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:label="us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ScheduleOfPerformanceStockUnitTableTextBlock" xlink:label="airg_ScheduleOfPerformanceStockUnitTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchaseProgramPeriodInForce1" xlink:label="us-gaap_StockRepurchaseProgramPeriodInForce1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LineOfCreditFacilityAggregateEligibleAccountsPercentage" xlink:label="airg_LineOfCreditFacilityAggregateEligibleAccountsPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember" xlink:label="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_StockAwardsIssuedAndOutstandingMember" xlink:label="airg_StockAwardsIssuedAndOutstandingMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherCommitmentsAxis" xlink:label="us-gaap_OtherCommitmentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AutomotiveMember" xlink:label="airg_AutomotiveMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SalesChannelOEMODMContractManufacturerMember" xlink:label="airg_SalesChannelOEMODMContractManufacturerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityFrequencyOfPayments" xlink:label="us-gaap_LineOfCreditFacilityFrequencyOfPayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_UnrealizedTranslationGain" xlink:label="airg_UnrealizedTranslationGain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_EnterpriseMember" xlink:label="airg_EnterpriseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CorporateDebtSecuritiesMember" xlink:label="us-gaap_CorporateDebtSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LessorOperatingLeaseTermOfContract" xlink:label="us-gaap_LessorOperatingLeaseTermOfContract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareRepurchaseProgramAugustTwoZeroOneSevenMember" xlink:label="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_RightOfUseAssetsRecordedInNonCashInvestingAndFinancingActivities" xlink:label="airg_RightOfUseAssetsRecordedInNonCashInvestingAndFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerSalesChannelAxis" xlink:label="us-gaap_ContractWithCustomerSalesChannelAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStocksIncludingAdditionalPaidInCapital" xlink:label="us-gaap_CommonStocksIncludingAdditionalPaidInCapital"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashEquivalents" xlink:label="us-gaap_RestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNetAbstract" xlink:label="us-gaap_InventoryNetAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AtmOfferingsMember" xlink:label="airg_AtmOfferingsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock" xlink:label="airg_ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ConsumerMember" xlink:label="airg_ConsumerMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SeveranceCosts1" xlink:label="us-gaap_SeveranceCosts1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_MM" xlink:label="country_MM"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SummaryOfFairValueOfPurchaseConsiderationTableTextBlock" xlink:label="airg_SummaryOfFairValueOfPurchaseConsiderationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CashEquivalentsAndShortTermInvestmentsPolicyPolicyTextBlock" xlink:label="airg_CashEquivalentsAndShortTermInvestmentsPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherCommitmentsDomain" xlink:label="us-gaap_OtherCommitmentsDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:label="us-gaap_ProceedsFromIssuanceOrSaleOfEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseExpirationDate1" xlink:label="us-gaap_LeaseExpirationDate1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_PaymentOfSeveranceCosts" xlink:label="airg_PaymentOfSeveranceCosts"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare" xlink:label="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SignificantAccountingPoliciesTable" xlink:label="airg_SignificantAccountingPoliciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LineOfCreditFacilityNetAllowancePercentage" xlink:label="airg_LineOfCreditFacilityNetAllowancePercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockExpense" xlink:label="us-gaap_RestrictedStockExpense"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock" xlink:label="airg_ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember" xlink:label="us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AuthorizedForGrantsUnderTheInducementPlanMember" xlink:label="airg_AuthorizedForGrantsUnderTheInducementPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_FinishedGoodsMember" xlink:label="airg_FinishedGoodsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SalesChannelOtherMember" xlink:label="airg_SalesChannelOtherMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsNoncurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_WarrantsIssuedAndOutstandingMember" xlink:label="airg_WarrantsIssuedAndOutstandingMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalLeaseObligationsIncurred" xlink:label="us-gaap_CapitalLeaseObligationsIncurred"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ScheduleOfTheCompanysAtmSalesActivityTabletextblock" xlink:label="airg_ScheduleOfTheCompanysAtmSalesActivityTabletextblock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_WarrantyExpenseReserved" xlink:label="airg_WarrantyExpenseReserved"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationRelatedCostsAbstract" xlink:label="us-gaap_CompensationRelatedCostsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment" xlink:label="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_StockOptionsIssuedAndOutstandingMember" xlink:label="airg_StockOptionsIssuedAndOutstandingMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock" xlink:label="airg_ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_PerformanceStockUnitMember" xlink:label="airg_PerformanceStockUnitMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_DescriptionOfPerformanceStockUnit" xlink:label="airg_DescriptionOfPerformanceStockUnit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:label="us-gaap_IntangibleAssetsFiniteLivedPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoriesMember" xlink:label="us-gaap_InventoriesMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue" xlink:label="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLineItems" xlink:label="us-gaap_InventoryLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashAndCashEquivalents" xlink:label="us-gaap_RestrictedCashAndCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="us-gaap_DisaggregationOfRevenueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_OtherCountriesMember" xlink:label="airg_OtherCountriesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm1" xlink:label="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramExpirationDate" xlink:label="srt_StockRepurchaseProgramExpirationDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SeveranceAndExitCosts1" xlink:label="airg_SeveranceAndExitCosts1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryAxis" xlink:label="us-gaap_PublicUtilitiesInventoryAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd#stpr_MN" xlink:label="stpr_MN"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards" xlink:label="airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_DebtConversionConvertatedAmount" xlink:label="airg_DebtConversionConvertatedAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SalesChannelFulfillmentDistributorsMember" xlink:label="airg_SalesChannelFulfillmentDistributorsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeBenefitsAndShareBasedCompensation" xlink:label="us-gaap_EmployeeBenefitsAndShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember" xlink:label="airg_ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LiquidityRatio" xlink:label="airg_LiquidityRatio"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CustomerBMember" xlink:label="airg_CustomerBMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockConsiderationReceivedOnTransaction" xlink:label="us-gaap_SaleOfStockConsiderationReceivedOnTransaction"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare" xlink:label="airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_PurchaseOfInventory" xlink:label="airg_PurchaseOfInventory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingExpense" xlink:label="us-gaap_OtherNonoperatingExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommitmentAndContingenciesLineItems" xlink:label="airg_CommitmentAndContingenciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent" xlink:label="airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareSettledObligationMember" xlink:label="airg_ShareSettledObligationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EMEAMember" xlink:label="us-gaap_EMEAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CustomerAMember" xlink:label="airg_CustomerAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramAxis" xlink:label="srt_ShareRepurchaseProgramAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ComputersAndSoftwareMember" xlink:label="airg_ComputersAndSoftwareMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_TwoThousandAndSixteenEquityIncentivePlanMember" xlink:label="airg_TwoThousandAndSixteenEquityIncentivePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AccruedExpenseOfSeverancCosts" xlink:label="airg_AccruedExpenseOfSeverancCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock" xlink:label="us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AdvancedPaymentsFromContractManufacturers" xlink:label="airg_AdvancedPaymentsFromContractManufacturers"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SupplyAgreementMember" xlink:label="airg_SupplyAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCommitmentFeeAmount" xlink:label="us-gaap_LineOfCreditFacilityCommitmentFeeAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityInterestRateDescription" xlink:label="us-gaap_LineOfCreditFacilityInterestRateDescription"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock" xlink:label="airg_ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockIssuedThroughStockOptionsShare" xlink:label="airg_CommonStockIssuedThroughStockOptionsShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock" xlink:label="airg_RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxRefundsDiscontinuedOperations" xlink:label="us-gaap_IncomeTaxRefundsDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCovenantTerms" xlink:label="us-gaap_LineOfCreditFacilityCovenantTerms"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_GoodsReceivedNotInvoiced" xlink:label="airg_GoodsReceivedNotInvoiced"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AccrualWarrantyExpense" xlink:label="airg_AccrualWarrantyExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SubsidiaryCommonStockPurchaseByCompany" xlink:label="airg_SubsidiaryCommonStockPurchaseByCompany"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables" xlink:label="airg_LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SeveranceCostsMember" xlink:label="airg_SeveranceCostsMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock" xlink:label="airg_OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SignificantAccountingPoliciesLineItems" xlink:label="airg_SignificantAccountingPoliciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramDomain" xlink:label="srt_ShareRepurchaseProgramDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CustomerCMember" xlink:label="airg_CustomerCMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_AsiaPacificMember" xlink:label="srt_AsiaPacificMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ChinaIncludingHongKongAndTaiwanMember" xlink:label="airg_ChinaIncludingHongKongAndTaiwanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInterimRateIncreaseDecreasePercentage" xlink:label="us-gaap_PublicUtilitiesInterimRateIncreaseDecreasePercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketingRelatedIntangibleAssetsMember" xlink:label="us-gaap_MarketingRelatedIntangibleAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="us-gaap_AssetBackedSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AtTheMarketOfferingMember" xlink:label="airg_AtTheMarketOfferingMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_NimbelinkMember" xlink:label="airg_NimbelinkMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SalesChannelDistributorsAndResellersMember" xlink:label="airg_SalesChannelDistributorsAndResellersMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_RevenueRecognitionPaymentTerms" xlink:label="airg_RevenueRecognitionPaymentTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedBonusesCurrent" xlink:label="us-gaap_AccruedBonusesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CN" xlink:label="country_CN"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_StockOptionsAndRestrictedStockMember" xlink:label="airg_StockOptionsAndRestrictedStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WarrantyReservesMember" xlink:label="us-gaap_WarrantyReservesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedRentCurrent" xlink:label="us-gaap_AccruedRentCurrent"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CustomerEMember" xlink:label="airg_CustomerEMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_OtherIncomeExpense" xlink:label="airg_OtherIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommitmentAndContingenciesTable" xlink:label="airg_CommitmentAndContingenciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_EmployeeRetentionCreditRefunds" xlink:label="airg_EmployeeRetentionCreditRefunds"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DomesticLineOfCreditMember" xlink:label="us-gaap_DomesticLineOfCreditMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock" xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_PaymentsForInventory" xlink:label="airg_PaymentsForInventory"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockAndAdditionalPaidInCapitalMember" xlink:label="airg_CommonStockAndAdditionalPaidInCapitalMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockLineItems" xlink:label="us-gaap_SubsidiarySaleOfStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" xlink:label="airg_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryRawMaterialsMember" xlink:label="us-gaap_PublicUtilitiesInventoryRawMaterialsMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ConsignedInventoriesMember" xlink:label="airg_ConsignedInventoriesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:label="us-gaap_PublicUtilitiesInventoryTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm1" xlink:label="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancelledWeightedAverageRemainingContractualTerm1" xlink:label="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancelledWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramAuthorizedAmount1" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAbstract" xlink:label="us-gaap_LongTermDebtAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CustomerDMember" xlink:label="airg_CustomerDMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCash" xlink:label="us-gaap_RestrictedCash"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_RestrictedCashPolicyTextBlock" xlink:label="airg_RestrictedCashPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_DeferredRevenueRecognitionPeriod" xlink:label="airg_DeferredRevenueRecognitionPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_Rule10B51ArrModifiedFlag" xlink:label="airg_Rule10B51ArrModifiedFlag"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems" xlink:label="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AccrualOfPropertyAndEquipment" xlink:label="airg_AccrualOfPropertyAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerRightToRecoverProduct" xlink:label="us-gaap_ContractWithCustomerRightToRecoverProduct"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentOtherTypesMember" xlink:label="us-gaap_PropertyPlantAndEquipmentOtherTypesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_EmployeeStockPurchasePlanSharesMember" xlink:label="airg_EmployeeStockPurchasePlanSharesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="us-gaap_USTreasurySecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ProvisionForExcessAndObsoleteInventories" xlink:label="airg_ProvisionForExcessAndObsoleteInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesAndExciseTaxPayableCurrent" xlink:label="us-gaap_SalesAndExciseTaxPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCovenantCompliance" xlink:label="us-gaap_LineOfCreditFacilityCovenantCompliance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ContractLiabilitiesCurrent" xlink:label="airg_ContractLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CovenantsToNonCompeteMember" xlink:label="airg_CovenantsToNonCompeteMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage" xlink:label="airg_LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_NonRule10B51ArrModifiedFlag" xlink:label="airg_NonRule10B51ArrModifiedFlag"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredOfferingCosts" xlink:label="us-gaap_DeferredOfferingCosts"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncome" xlink:label="us-gaap_OtherNonoperatingIncome"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedRentNoncurrent" xlink:label="us-gaap_AccruedRentNoncurrent"/>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Statement [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryCurrentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Current [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PublicUtilitiesInventoryTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Regulated Operation, Inventory [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Trade accounts receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Accounts Receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PlanNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Plan Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PlanNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Plan Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Authorized for grants under the 2016 Employee Stock Purchase Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Two Thousand And Sixteen Employee Stock Purchase Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">2016 Employee Stock Purchase Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Two thousand and sixteen employee stock purchase plan.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressPostalZipCode_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Address, Postal Zip Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressPostalZipCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Postal Zip Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Cash and Cash Equivalents by Significant Investment Category</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash, Cash Equivalents and Investments [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationsPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business Combinations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationsPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combinations Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_StockOptionAwardsIssuedAndOutstandingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock option awards issued and outstanding.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_StockOptionAwardsIssuedAndOutstandingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock Option Awards Issued and Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_StockOptionAwardsIssuedAndOutstandingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Option Awards Issued And Outstanding [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue, Remaining Performance Obligation, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Recognized revenue remaining performance obligations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Weighted Average Number Diluted Shares Outstanding Adjustment, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Plus dilutive effect of potential common shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Outstanding, Diluted, Adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Incorporation, State or Country Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityIncorporationStateCountryCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Incorporation, State or Country Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_StockRepurchaseProgramAdditionalPeriodInForce1_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock repurchase program additional period in force1.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_StockRepurchaseProgramAdditionalPeriodInForce1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Additional period of stock repurchase program</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_StockRepurchaseProgramAdditionalPeriodInForce1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Repurchase Program Additional Period In Force1</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockIssuedThroughStockOptions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock Issued through stock options</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockIssuedThroughStockOptions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common stock Issued through stock options</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockIssuedThroughStockOptions_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Common stock Issued through stock options</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsidiary or Equity Method Investee, Sale of Stock, Type [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total unrecognized compensation cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NumberOfOperatingSegments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of operating segments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NumberOfOperatingSegments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number of Operating Segments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Business Combinations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year Four</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Thereafter</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossTaxAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other comprehensive loss:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossTaxAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Comprehensive Income (Loss), Tax [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Limited percentage of annual contribution</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Maximum Employee Subscription Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Grant date fair value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Value, Restricted Stock Award, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Shares, Outstanding, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Shares, Outstanding, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Shares, Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Hierarchy and NAV</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Hierarchy and NAV [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Assets Acquired and Liabilities Assumed at Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel2Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Level 2</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel2Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Inputs, Level 2 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share Based Compensation Arrangement By Share Based Payment Award [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2024 (remaining six months)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_MajorCustomersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Major Customers</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_MajorCustomersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Major Customers [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_MajorCustomersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Major customers.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Leases [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commitments and Contingencies</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfStockByClassTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Stock By Class [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfStockByClassTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock, Class of Stock [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PublicUtilitiesInventorySuppliesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Supplies [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Income Tax Liabilities, Net, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred tax liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Income Tax Liabilities, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finite-Lived Intangible Assets by Major Class</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets by Major Class [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lender Name [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Cash and cash equivalents and short-term investments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash And Cash Equivalents And Short Term Investments [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash And Cash Equivalents And Short Term Investments [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Treasury Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Treasury Stock [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Collaborative Arrangement and Arrangement Other than Collaborative</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaborative Arrangement and Arrangement Other than Collaborative [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Supplemental disclosure of non-cash investing and financing activities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Noncash Investing and Financing Items [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ClassOfTreasuryStockTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Class Of Treasury Stock [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ClassOfTreasuryStockTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Class of Treasury Stock [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Employee Stock Purchase Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Employee Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Benchmark</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Benchmark [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LeaseTerminationDate_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Lease Termination Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LeaseTerminationDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease Termination Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LeaseTerminationDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease termination date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stockholders' Equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of credit facility, percentage of raw materials and finished goods</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line Of Credit Facility Raw Materials And Finished Goods Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Line Of Credit Facility Raw Materials And Finished Goods Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from Contract with Customer [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sale of Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sale of Stock [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ClassOfStockDisclosuresAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Class of Stock Disclosures [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Useful Life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average amortization period (in years)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventories</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCentralIndexKey_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Central Index Key</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCentralIndexKey_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Central Index Key</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Cash Equivalents, at Carrying Value, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash Equivalents, at Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WarrantMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Warrants outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WarrantMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Warrant [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Changes in operating assets and liabilities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Operating Capital [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Common Stock, Shares, Issued, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Shares, Issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">common stock issue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RepurchaseAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Repurchase Agreements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RepurchaseAgreementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Repurchase Agreements [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Prepaid expenses and other current assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Prepaid Expense and Other Assets, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Prepaid Expense and Other Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Statement [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_VN_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vietnam</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_VN_lbl" xlink:role="http://www.xbrl.org/2003/role/label">VIET NAM</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressStateOrProvince_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Address, State or Province</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressStateOrProvince_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, State or Province</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Value, Employee Stock Purchase Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Proceeds from stock issued during period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock issued under ESPP, Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Loss before income taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerSalesChannelDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contract with Customer, Sales Channel</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerSalesChannelDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Sales Channel [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Type</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityClassOfTreasuryStockLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity Class Of Treasury Stock [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityClassOfTreasuryStockLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity, Class of Treasury Stock [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MajorCustomersAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MajorCustomersAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer Concentration Risk</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerConcentrationRiskMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer Concentration Risk [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of authorized shares increased</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Additional Shares Authorized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_NumberOfVendors_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Number of vendors.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_NumberOfVendors_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of vendors</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_NumberOfVendors_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Number Of Vendors</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year Three</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2027</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of credit facility maturity date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line of Credit Facility, Expiration Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate intrinsic value vested and exercisable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Treasury stock, shares at cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonShares_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Treasury Stock, Common, Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CoverAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cover [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AmortizationOfPrepaidAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Amortization of prepaid assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AmortizationOfPrepaidAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amortization of prepaid assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AmortizationOfPrepaidAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amortization of prepaid assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Event [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Earnings Per Share, Basic, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share, Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contract asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Asset, after Allowance for Credit Loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Contract with Customer, Asset, after Allowance for Credit Loss, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseOptionToExtend_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease option to extend</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseOptionToExtend_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Option to Extend</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_DeferredPurchasePriceLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred purchase price liabilities current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_DeferredPurchasePriceLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred purchase price liabilities current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_DeferredPurchasePriceLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred purchase price liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_DescriptionOfBusinessPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Description of business.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_DescriptionOfBusinessPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Description Of Business Policy [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_DescriptionOfBusinessPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Description of Business</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareGrantedUponSettlementOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Granted upon Settlement of debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareGrantedUponSettlementOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share Granted upon Settlement of debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareGrantedUponSettlementOfDebt_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shares granted upon settlement of debt</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Timing of Transfer of Good or Service [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Timing Of Transfer Of Good Or Service</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating expenses:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingExpensesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Expenses [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Liability, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other current liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Liabilities, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_IncreaseDecreaseInLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_IncreaseDecreaseInLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase Decrease In Lease Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_IncreaseDecreaseInLeaseLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Increase Decrease In Lease Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Investments, Debt and Equity Securities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingAndMarketingExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sales and marketing</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingAndMarketingExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Selling and Marketing Expense [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfPerformanceStockUnitTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of performance stock unit table text block</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfPerformanceStockUnitTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of performance stock unit table text block</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfPerformanceStockUnitTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Performance Stock Unit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchaseProgramPeriodInForce1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Period of stock repurchase program</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockRepurchaseProgramPeriodInForce1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Repurchase Program, Period in Force</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share-based payment arrangement, expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Advertising Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Advertising Cost [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Retained Earnings (Accumulated Deficit), Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Retained Earnings (Accumulated Deficit), Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Retained Earnings (Accumulated Deficit), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated deficit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retained Earnings (Accumulated Deficit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PlanNameAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Plan Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PlanNameAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Plan Name [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LineOfCreditFacilityAggregateEligibleAccountsPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of credit Percentage of maximum advances of aggregate face amount of certain eligible receivables</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LineOfCreditFacilityAggregateEligibleAccountsPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line Of Credit Facility Aggregate Eligible Accounts Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LineOfCreditFacilityAggregateEligibleAccountsPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Line Of Credit Facility Aggregate Eligible Accounts Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Number of stock options, Beginning balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Number of stock options, Ending balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current assets:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets, Current [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share repurchase program august two zero one seven and september two zero one nine member.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share Repurchase Program August 2017 and September 2019</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Repurchase Program August Two Zero One Seven And September Two Zero One Nine [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock, reserved for future issuance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Capital Shares Reserved for Future Issuance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_US_lbl" xlink:role="http://www.xbrl.org/2003/role/label">UNITED STATES</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_US_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">United States</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Investment Type</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Investment Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Operating Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net cash used in operating activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average grant date fair value, Forfeited</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of stock options, Vested and exercisable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated other comprehensive (loss) income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accumulated Other Comprehensive Income (Loss), Net of Tax, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average remaining contractual term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Outstanding, Weighted Average Remaining Contractual Terms</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Property, Plant and Equipment, Net, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Property, Plant and Equipment, Net, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property and equipment, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Property and equipment, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash flows from operating activities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_StockAwardsIssuedAndOutstandingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock awards issued and outstanding [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_StockAwardsIssuedAndOutstandingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Awards Issued and Outstanding [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_StockAwardsIssuedAndOutstandingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock awards issued and outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock, par value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Par or Stated Value Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Trade Accounts Receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Timing of Transfer of Good or Service [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Timing Of Transfer Of Good Or Service</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementOfCashFlowsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Cash Flows [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Antidilutive Securities, Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Antidilutive Securities, Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Acquired Finite Lived Intangible Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Acquired Finite-Lived Intangible Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Other Comprehensive Loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementEquityComponentsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity Components [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressAddressLine1_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Entity Address, Address Line One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressAddressLine1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Address Line One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Computation of Net Loss Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherCommitmentsAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Commitments [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted stock units, Grants</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Concentration of Sales and Accounts Receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedules of Concentration of Risk, by Risk Factor [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AutomotiveMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Automotive</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AutomotiveMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Automotive [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AutomotiveMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Automotive member.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SalesChannelOEMODMContractManufacturerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Sales channel OEM / ODM / contract manufacturer.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SalesChannelOEMODMContractManufacturerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">OEM/ODM/Contract Manufacturer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SalesChannelOEMODMContractManufacturerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sales Channel O E M O D M Contract Manufacturer [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property Plant And Equipment [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityFrequencyOfPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of credit facility frequency of payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityFrequencyOfPayments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line of Credit Facility, Frequency of Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Event Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Potentially Dilutive Securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of credit facility allowable amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_UnrealizedTranslationGain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Less unrealized translation gain</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_UnrealizedTranslationGain_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel">Less unrealized translation gain</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_UnrealizedTranslationGain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Unrealized translation gain</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_UnrealizedTranslationGain_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Unrealized translation gain</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Restricted stock units, Beginning balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Restricted stock units, Ending balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2026</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AmendmentFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amendment Flag</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_AmendmentFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amendment Flag</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Operating Lease, Liability, Noncurrent, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long-term lease liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Liability, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Long-term lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_EnterpriseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Enterprise</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_EnterpriseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Enterprise [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_EnterpriseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Enterprise member.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CorporateDebtSecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Corporate Debt Securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CorporateDebtSecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Corporate Debt Securities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LessorOperatingLeaseTermOfContract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Operating lease term of contract</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LessorOperatingLeaseTermOfContract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessor, Operating Lease, Term of Contract</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Net income (loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Net loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Number of stock options, Exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of shares issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VariableRateDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Variable Rate [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Research and Development Expense [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Research and development</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share repurchase program august two zero one seven.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share Repurchase Program August 2017</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Repurchase Program August Two Zero One Seven [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_NameOfMajorCustomerDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_RightOfUseAssetsRecordedInNonCashInvestingAndFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Right-of-use assets recorded upon adoption of ASC 842</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_RightOfUseAssetsRecordedInNonCashInvestingAndFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Right-of-Use Assets Recorded in Non Cash Investing and Financing Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_RightOfUseAssetsRecordedInNonCashInvestingAndFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Right-of-use assets recorded in non cash investing and financing activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerSalesChannelAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contract with Customer, Sales Channel</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerSalesChannelAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Sales Channel [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityComponentDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Equity Component</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityComponentDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity Component [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Statistical Measurement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statistical Measurement [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">General and Administrative Expense, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">General and administrative</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeneralAndAdministrativeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">General and Administrative Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Nonoperating Income (Expense)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total other expense (income)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel">Total other income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Offering period of employee stock purchase plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Furniture, Fixtures, and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FurnitureAndFixturesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Furniture and Fixtures [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Treasury Stock, Common [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Treasury Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Disaggregation Of Revenue [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disaggregation of Revenue [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProfitLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProfitLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Income (Loss), Including Portion Attributable to Noncontrolling Interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProfitLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProfitLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Net income (loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Stock Options Exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromStockOptionsExercised_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from employee stock purchase and option exercises</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStocksIncludingAdditionalPaidInCapital_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock and additional paid-in capital, par value $0.0001, 200,000 shares authorized; 11,842 shares issued and 11,301 shares outstanding at June 30, 2024; and 11,010 shares issued and 10,469 shares outstanding at December 31, 2023.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStocksIncludingAdditionalPaidInCapital_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Common Stocks, Including Additional Paid in Capital, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStocksIncludingAdditionalPaidInCapital_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Common Stocks, Including Additional Paid in Capital, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStocksIncludingAdditionalPaidInCapital_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Common Stocks, Including Additional Paid in Capital, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStocksIncludingAdditionalPaidInCapital_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stocks, Including Additional Paid in Capital</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Restricted Cash Equivalents, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restricted Cash Equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PayablesAndAccrualsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payables and Accruals [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryNetAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Net [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AtmOfferingsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">ATM Offerings</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AtmOfferingsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">ATM Offerings [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AtmOfferingsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">ATM Offerings</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Common stock issued under ESPP, Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Employee Stock Purchase Plan shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Shares, Employee Stock Purchase Plans</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Future Minimum Rental Payments for Operating and Financing Leases.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Future Minimum Rental Payments for Operating and Financing Leases [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Future Minimum Lease Payments Under Operating Leases</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prepaid expenses and other current assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Expense and Other Assets, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average exercise price, Vested and exercisable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TransferredOverTimeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Transferred over Time [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TransferredOverTimeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Transferred Over Time</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ConsumerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Consumer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ConsumerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Consumer [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ConsumerMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Consumer [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TypeOfArrangementAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Collaborative Arrangement and Arrangement Other than Collaborative</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TypeOfArrangementAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Collaborative Arrangement and Arrangement Other than Collaborative [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeveranceCosts1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Severance Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SeveranceCosts1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued severance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_MM_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Myanmar</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_MM_lbl" xlink:role="http://www.xbrl.org/2003/role/label">MYANMAR</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Comprehensive loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Common Stock, Shares, Outstanding, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Common Stock, Shares, Outstanding, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock, shares outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Shares, Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SummaryOfFairValueOfPurchaseConsiderationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Fair Value of Purchase Consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SummaryOfFairValueOfPurchaseConsiderationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Summary Of Fair Value Of Purchase Consideration Table Text Block</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SummaryOfFairValueOfPurchaseConsiderationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Summary Of Fair Value Of Purchase Consideration Table Text Block</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finite-Lived Intangible Assets, Major Class Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Major Class Name [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of credit facility current borrowing capacity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line of Credit Facility, Current Borrowing Capacity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CashEquivalentsAndShortTermInvestmentsPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Cash equivalents and short term investments policy.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CashEquivalentsAndShortTermInvestmentsPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash Equivalents and Short Term Investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CashEquivalentsAndShortTermInvestmentsPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash Equivalents And Short Term Investments Policy Policy [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherCommitmentsDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Commitments [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SalesRevenueNetMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Benchmark [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Antidilutive Securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Antidilutive Securities [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOrSaleOfEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net proceeds after offering costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOrSaleOfEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Issuance or Sale of Equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOrSaleOfEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Proceeds from Issuance or Sale of Equity, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Cash_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Cash, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Cash_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Cash, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Cash_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Cash_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant, and Equipment and Intangible Assets [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Outstanding Restricted Stock Unit Activity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Interactive Data Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityInteractiveDataCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Interactive Data Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseExpirationDate1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Lease expiration date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseExpirationDate1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease Expiration Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfSalesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cost of goods sold</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfSalesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cost of Sales [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_PaymentOfSeveranceCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Payment of severance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_PaymentOfSeveranceCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment of severance costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_PaymentOfSeveranceCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock Issued in connection with at-the-market offerings, net Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Common Stock Issued In Connection With At-The-Market Offerings Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock Issued In Connection With At-The-Market Offerings Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentQuarterlyReport_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Quarterly Report</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentQuarterlyReport_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Quarterly Report</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average grant date fair value, Vested and released</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SignificantAccountingPoliciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Significant Accounting Policies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SignificantAccountingPoliciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Significant Accounting Policies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SignificantAccountingPoliciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Significant accounting policies table.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Statistical Measurement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_RangeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statistical Measurement [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Cost of Goods and Services Sold, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cost of Goods and Services Sold</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfGoodsAndServicesSold_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shipping and other transportation costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LineOfCreditFacilityNetAllowancePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of credit facility, percentage of net allowance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LineOfCreditFacilityNetAllowancePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line Of Credit Facility Net Allowance Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LineOfCreditFacilityNetAllowancePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Line Of Credit Facility Net Allowance Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedStockExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restricted Stock or Unit Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedStockExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock options, restricted stock and performance stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of common stock reserved for future issuance.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Common Stock Reserved for Future Issuance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of Common Stock Reserved For Future Issuance Table [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commercial Paper</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commercial Paper, Not Included with Cash and Cash Equivalents [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Disaggregated Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disaggregation of Revenue [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Selling and Marketing Expense, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sales and marketing</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SellingAndMarketingExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Selling and Marketing Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Finite-Lived Intangible Assets, Gross, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Gross carrying amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Company's share-settled obligation RSU grants</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shares available for grant</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Temporary Equity, Foreign Currency Translation Adjustments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Foreign currency translation adjustment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average grant date fair value, Grants</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total unrecognized compensation cost, period for recognition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Manufacturing and Testing Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MachineryAndEquipmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Machinery and Equipment [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Long Lived Assets By Geographical Region</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Lived Assets by Geographic Areas [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AuthorizedForGrantsUnderTheInducementPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Authorized for Grants Under the Inducement Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AuthorizedForGrantsUnderTheInducementPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2021 Inducement Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AuthorizedForGrantsUnderTheInducementPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Authorized for grants under the inducement plan.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AuthorizedForGrantsUnderTheInducementPlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Authorized for Grants under the Inducement Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Effect of exchange rate changes on cash, cash equivalents and restricted cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net deferred tax assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Tax Assets, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Tax Assets, Net, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Research and Development Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Research and Development Expense, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Income Location, Balance [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Assets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Assets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Basis of Presentation and Principles of Consolidation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Restricted stock units, Vested and released</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_FinishedGoodsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finished Goods [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_FinishedGoodsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Finished Goods [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SalesChannelOtherMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Direct and other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SalesChannelOtherMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sales Channel Other [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SalesChannelOtherMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Sales Channel, Other.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SalesChannelOtherMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Recently Issued Accounting Pronouncements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">New Accounting Pronouncements, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressCityOrTown_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Address, City or Town</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressCityOrTown_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, City or Town</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Other Comprehensive (Loss) Income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">AOCI Attributable to Parent [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted cash - long term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prepaid Expense and Other Assets, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_WarrantsIssuedAndOutstandingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Warrants issued and outstanding.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_WarrantsIssuedAndOutstandingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Warrants Issued and Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_WarrantsIssuedAndOutstandingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Warrants Issued And Outstanding [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalLeaseObligationsIncurred_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Leased liabilities recorded upon adoption of ASC 842</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalLeaseObligationsIncurred_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lease Obligation Incurred</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfTheCompanysAtmSalesActivityTabletextblock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of The Company's ATM Sales Activity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfTheCompanysAtmSalesActivityTabletextblock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of The Company's ATM Sales Activity [TableTextBlock]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfTheCompanysAtmSalesActivityTabletextblock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule Of The Company's ATM Sales Activity [TableTextBlock]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted stock units, Forfeited</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Restricted stock units, Forfeited</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_WarrantyExpenseReserved_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Warranty expense reserved</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_WarrantyExpenseReserved_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Warranty Expense Reserved</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_WarrantyExpenseReserved_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Warranty expense reserve</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CompensationRelatedCostsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Compensation Related Costs [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Depreciation_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Depreciation, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Depreciation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Depreciation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Depreciation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Depreciation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Depreciation_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Depreciation expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Inventory, Materials, Supplies and Merchandise under Consignment, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventories on consignment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock Based Compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConstructionInProgressMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Construction in Process</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConstructionInProgressMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Construction in Progress [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of authorized shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_StockOptionsIssuedAndOutstandingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock options issued and outstanding [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_StockOptionsIssuedAndOutstandingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Options Issued and Outstanding [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_StockOptionsIssuedAndOutstandingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock options issued and outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule Of commitments and contingencies liability recorded related to severance and exit costs table text block</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule Of commitments and contingencies liability recorded related to severance and exit costs table text block</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of liability recorded related to severance and exit costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_PerformanceStockUnitMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Performance stock unit (PSU)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_PerformanceStockUnitMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Performance stock unit [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_PerformanceStockUnitMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Performance stock unit [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease weighted average discount rate percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_DescriptionOfPerformanceStockUnit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Description of performance stock unit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_DescriptionOfPerformanceStockUnit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Description of performance stock unit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_DescriptionOfPerformanceStockUnit_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Description of performance stock unit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average exercise price, Expired/Forfeited</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Unaudited Pro forma Revenue and Income (loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Pro Forma Information [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current liabilities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities, Current [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsFiniteLivedPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Intangible Assets, Finite-Lived, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsFiniteLivedPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoriesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventories [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Common Stock Issued In Connection With At The Market Offerings Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock Issued In Connection With At The Market Offerings Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock Issued in connection with at-the-market offerings, net Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Trade Accounts Receivable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Income Taxes Paid, Net, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Taxes Paid, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxesPaidNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income taxes paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentType_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Type</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentType_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Type</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_Security12bTitle_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Title of 12(b) Security</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_Security12bTitle_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Title of 12(b) Security</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Cash and Cash Equivalents, at Carrying Value, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Cash and Cash Equivalents, at Carrying Value, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Cash and Cash Equivalents, at Carrying Value, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents, at Carrying Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and cash equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Percentage of discount and fair value of option</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Discount from Market Price, Purchase Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Goodwill</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Cash and cash equivalents and Short term investments, Amortized cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and cash equivalents and Short term investments, Amortized costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Cash And Cash Equivalents At Carrying Value Available And Available For Sale Debt Securities Amortized Cost Basis.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash And Cash Equivalents At Carrying Value Available And Available For Sale Debt Securities Amortized Cost Basis</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Stockholders' Equity [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventories</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Document Fiscal Period Focus</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFiscalPeriodFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Fiscal Period Focus</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Intrinsic value of stock options exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Research and Development Expense, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Research and development</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Research and Development Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Payments for withholding taxes related to net share settlement of equity awards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Taxes paid for net share settlement of restricted stock units</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payment, Tax Withholding, Share-Based Payment Arrangement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of stock options, Granted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedCashAndCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted cash - short term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedCashAndCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Restricted Cash and Cash Equivalents, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedCashAndCashEquivalents_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restricted Cash and Cash Equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disaggregation of Revenue [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Property, Plant and Equipment, Gross, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Property, Plant and Equipment, Gross, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Property, Plant and Equipment, Gross, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property and equipment, gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_OtherCountriesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other countries.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_OtherCountriesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_OtherCountriesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Countries [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_OtherCountriesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Rest of the world</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Event Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share based compensation arrangement by share based payment award options exercised weighted average remaining contractual term 1.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Based Compensation Arrangement By Share Based Payment Award Options Exercised Weighted Average Remaining Contractual Term1</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average remaining contractual term (in years), Exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SEC Schedule, 12-09, Valuation Allowances and Reserves Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_StockRepurchaseProgramExpirationDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Expiry date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_StockRepurchaseProgramExpirationDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Repurchase Program, Expiration Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Impairment of intangible assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Impairment of Intangible Assets (Excluding Goodwill)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Impairment of Intangible Assets (Excluding Goodwill), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SeveranceAndExitCosts1_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Severance and Exit Costs 1</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SeveranceAndExitCosts1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Severance and Exit Costs 1</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SeveranceAndExitCosts1_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Opening Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SeveranceAndExitCosts1_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Closing Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PublicUtilitiesInventoryAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sale of Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsidiarySaleOfStockAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sale of Stock [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Investing Activities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash flows from investing activities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentTypeCategorizationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Investments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InvestmentTypeCategorizationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Investments [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Revenue from Contract with Customer, Excluding Assessed Tax, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Disaggregated revenues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Sales</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Comprehensive Income [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="stpr_MN_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Minnesota</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="stpr_MN_lbl" xlink:role="http://www.xbrl.org/2003/role/label">MINNESOTA</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Common stock withheld related to net share settlement of equity awards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common stock withheld related to net share settlement of equity awards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock withheld related to net share settlement of equity awards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VehiclesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Vehicles [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VehiclesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Vehicles</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line Of Credit Facility [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line of Credit Facility [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShortTermDebtTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Short-Term Debt, Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_DebtConversionConvertatedAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Conversion Convertated Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_DebtConversionConvertatedAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Debt Conversion Convertated Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_DebtConversionConvertatedAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share-Settled Obligation Setteled</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditFacilityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Credit Facility</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditFacilityDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Credit Facility [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Finite-Lived Intangible Assets, Net, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Finite-Lived Intangible Assets, Net, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeNamesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Tradename</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TradeNamesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trade Names [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShortTermDebtTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Short-Term Debt, Type [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Accrued Liabilities, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Accounts Payable, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Accounts Payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressAddressLine2_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Entity Address, Address Line Two</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityAddressAddressLine2_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Address, Address Line Two</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Liabilities and stockholders&#8217; equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities and Equity [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SalesChannelFulfillmentDistributorsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Sales channel, fulfillment distributors.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SalesChannelFulfillmentDistributorsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fulfillment Distributors</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SalesChannelFulfillmentDistributorsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sales Channel Fulfillment Distributors [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentPeriodEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Period End Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentPeriodEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Period End Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Financing Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net cash provided by (used in) financing activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeBenefitsAndShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share-based compensation expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EmployeeBenefitsAndShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Employee Benefits and Share-Based Compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Effective Income Tax Rate Reconciliation, Percent, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Effective income tax rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share repurchase program September nine two zero one nine.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share Repurchase Program September 9, 2019</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Repurchase Program September Nine Two Zero One Nine [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Common stock Issued through restricted stock awards</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">RSU shares granted and vested</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Shares, Restricted Stock Award, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LiquidityRatio_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Liquidity ratio.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LiquidityRatio_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Liquidity ratio</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LiquidityRatio_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liquidity Ratio</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock equivalent shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CustomerBMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer B [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CustomerBMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Customer B.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CustomerBMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer B</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">APIC, Share-based Payment Arrangement, Increase for Cost Recognition, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-based compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SaleOfStockConsiderationReceivedOnTransaction_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Gross proceeds</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SaleOfStockConsiderationReceivedOnTransaction_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sale of Stock, Consideration Received on Transaction</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock withheld related to net share settlement of equity awards, Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">CommonStockWithheldRelatedToNetShareSettlementOfEquityAwardsShare</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare_lbl" xlink:role="http://www.xbrl.org/2003/role/label">CommonStockWithheldRelatedToNetShareSettlementOfEquityAwardsShare</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_PurchaseOfInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Purchase of inventory.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_PurchaseOfInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Purchase of inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_PurchaseOfInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Purchase Of Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Nonoperating Expense, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Nonoperating Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other (income) expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingExpense_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Other (income) expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingExpense_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel">Total Other (income) expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income tax expense (benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Income Tax Expense (Benefit), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Loss on disposal of property and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Loss on disposal of property and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Gain (Loss) on Disposition of Property Plant Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Gain (Loss) on Disposition of Property Plant Equipment, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_TradingSymbol_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Trading Symbol</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_TradingSymbol_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Trading Symbol</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combinations [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_VariableRateAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Variable Rate [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total stockholders&#8217; equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity, Attributable to Parent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Beginning balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Ending balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommitmentAndContingenciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Commitment and contingencies.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommitmentAndContingenciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commitment And Contingencies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommitmentAndContingenciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitment And Contingencies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total accrued liabilities and other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accrued liabilities and other liabilities, current.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued liabilities and other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Liabilities And Other Liabilities Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareSettledObligationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share-Settled Obligation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareSettledObligationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Settled Obligation [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareSettledObligationMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share-Settled Obligation [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long-Lived Tangible Asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Lived Tangible Asset [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EMEAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Europe, Middle East and Africa (EMEA)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EMEAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">EMEA [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-Based Compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Restricted Stock Unit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restricted Stock Units (RSUs) [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedStockUnitsRSUMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted Stock Unit (RSU)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CustomerAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Customer A.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CustomerAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer A</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CustomerAMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer A [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Property Plant And Equipment [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Goodwill, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Goodwill, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Goodwill, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Goodwill</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Goodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ShareRepurchaseProgramAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share Repurchase Program</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ShareRepurchaseProgramAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Repurchase Program [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Stock Based Compensation Expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ComputersAndSoftwareMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Computers And Software [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ComputersAndSoftwareMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Computers and software.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ComputersAndSoftwareMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Computers and Software</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_TwoThousandAndSixteenEquityIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Authorized for grants under the 2016 Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_TwoThousandAndSixteenEquityIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Two thousand and sixteen equity incentive plan.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_TwoThousandAndSixteenEquityIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Two Thousand And Sixteen Equity Incentive Plan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_TwoThousandAndSixteenEquityIncentivePlanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2016 Equity Incentive Plan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Deferred Income Tax Expense (Benefit), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred tax liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Income Tax Expense (Benefit)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_StatementGeographicalAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Geographical</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_StatementGeographicalAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Geographical [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeasesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Leases [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UseOfEstimates_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Use of Estimates</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_UseOfEstimates_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Use of Estimates, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration risk percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskPercentage1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk, Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ClassOfStockLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Class Of Stock [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ClassOfStockLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Class of Stock [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Business Acquisitions, by Acquisition [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_SecurityExchangeName_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Security Exchange Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_SecurityExchangeName_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Security Exchange Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AccruedExpenseOfSeverancCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accrued expense of severanc costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AccruedExpenseOfSeverancCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued expense of severanc costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AccruedExpenseOfSeverancCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued to expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition, Acquiree [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total operating expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingExpenses_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Expenses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of identifiable intangible assets and related expected lives for finite-lived intangible assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived and Indefinite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Long-Lived Tangible Asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Lived Tangible Asset [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Less accumulated depreciation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of Credit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line of Credit [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average grant-date fair value of options granted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AdvancedPaymentsFromContractManufacturers_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Advanced payments from contract manufacturer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AdvancedPaymentsFromContractManufacturers_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Advanced payments from contract manufacturers</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AdvancedPaymentsFromContractManufacturers_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Advanced payments from contract manufacturer</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Event [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MaximumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Maximum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MaximumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Maximum [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total liabilities and stockholders&#8217; equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities and Equity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Right-of-Use Asset</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Leased right-of-use assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Supplemental disclosure of cash flow information:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Supplemental Cash Flow Information [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrimeRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Prime Rate [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PrimeRateMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Prime Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SupplyAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Supply agreement.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SupplyAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Supply Agreement</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SupplyAgreementMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Supply Agreement [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Earnings Per Share, Diluted, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share, Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Leasehold Improvements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LeaseholdImprovementsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Leasehold Improvements [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityExTransitionPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Ex Transition Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityExTransitionPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Ex Transition Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Liabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_Liabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Hierarchy and NAV</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value Hierarchy and NAV [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityCommitmentFeeAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line of Credit Facility, Commitment Fee Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityCommitmentFeeAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of credit facility, commitment fee amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total current assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityInterestRateDescription_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of credit facility interest rate description</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityInterestRateDescription_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line of Credit Facility, Interest Rate Description</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Inventory And Consigned Inventories, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Inventory And Consigned Inventories, Current [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Schedule of Inventory And Consigned Inventories, Current [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net cash used in investing activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Investing Activities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shares issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Issued During Period, Shares, New Issues</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockIssuedThroughStockOptionsShare_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock Issued through stock options, Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockIssuedThroughStockOptionsShare_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common stock Issued through stock options Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockIssuedThroughStockOptionsShare_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Common stock Issued through stock options Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityFilerCategory_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Filer Category</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityFilerCategory_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Filer Category</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Intangible Assets and Goodwill</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill and Intangible Assets Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue from contract with customer shipping and handling cost policy.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Shipping and Transportation Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue From Contract With Customer Shipping And Handling Cost Policy [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxRefundsDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Refunds, Discontinued Operations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxRefundsDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income taxes refunded</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityCovenantTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of credit facility covenant terms</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityCovenantTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line of Credit Facility, Covenant Terms</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_GoodsReceivedNotInvoiced_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Goods Received Not Invoiced</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_GoodsReceivedNotInvoiced_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goods Received not Invoiced</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_GoodsReceivedNotInvoiced_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Goods Received not Invoiced</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Description of Business and Basis of Presentation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AccrualWarrantyExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accrual Warranty Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AccrualWarrantyExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrual Warranty Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AccrualWarrantyExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Warranty accrual expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current Fiscal Year End Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CurrentFiscalYearEndDate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Current Fiscal Year End Date</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SubsidiaryCommonStockPurchaseByCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Subsidiary Common Stock Purchase by Company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SubsidiaryCommonStockPurchaseByCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsidiary Common Stock Purchase by Company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel">Less imputed interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Less imputed interest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Share-based Payment Arrangement, Noncash Expense, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock-based compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Noncash Expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Line of credit facility borrowing base limitation percentage of eligible receivables.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of credit facility borrowing base limitation percentage of eligible receivables</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line Of Credit Facility Borrowing Base Limitation Percentage Of Eligible Receivables</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityRegistrantName_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Registrant Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityRegistrantName_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Registrant Name</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SeveranceCostsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Severance Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SeveranceCostsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Severance Costs [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SeveranceCostsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Severance Costs [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued offering costs charged against proceeds from sale of common stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Offering Costs Charged Against Proceeds From Sale Of Common Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Offering Costs Charged Against Proceeds From Sale Of Common Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GrossProfit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Gross profit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GrossProfit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Gross Profit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SignificantAccountingPoliciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Significant Accounting Policies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SignificantAccountingPoliciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Significant Accounting Policies [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SignificantAccountingPoliciesLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Significant accounting policies line items.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Cost of Revenue, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cost of goods sold</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CostOfRevenue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cost of Revenue</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Share Based Compensation Arrangements By Share Based Payment Award [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net Loss Per Share</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Emerging Growth Company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityEmergingGrowthCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Emerging Growth Company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Money Market Funds</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MoneyMarketFundsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Money Market Funds [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Weighted Average Number of Shares Outstanding, Basic, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Outstanding, Basic</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Basic weighted average common shares outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Change in fair value of contingent consideration</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock, shares authorized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockSharesAuthorized_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Shares Authorized</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ShareRepurchaseProgramDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Share Repurchase Program</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_ShareRepurchaseProgramDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Repurchase Program [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Property and equipment, estimated useful life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Useful Life</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Proceeds from Issuance of Common Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Proceeds from at-the-market common stock offering, net of offering costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Type</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskByTypeAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Type [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash and Cash Equivalents [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel1Member_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Level 1</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueInputsLevel1Member_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value, Inputs, Level 1 [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebtTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Notes Payable and Line of Credit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebtTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Debt [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average exercise price, Vested and expected to vest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average exercise price, Granted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Amortization of intangible assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Amortization of Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AmortizationOfIntangibleAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Amortization of Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CustomerCMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Customer C.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CustomerCMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer C</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CustomerCMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer C [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_AsiaPacificMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Asia Pacific (APAC)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_AsiaPacificMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Asia Pacific [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average remaining contractual term (in years)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ChinaIncludingHongKongAndTaiwanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">China including Hong Kong and Taiwan</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ChinaIncludingHongKongAndTaiwanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">China Including Hong Kong and Taiwan [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ChinaIncludingHongKongAndTaiwanMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">China Including Hong Kong and Taiwan [Member].</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">General and administrative</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">General and Administrative Expense [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue Recognition</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncurrentAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Property and equipment, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncurrentAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fixed assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NoncurrentAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Lived Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PublicUtilitiesInterimRateIncreaseDecreasePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of credit, Percentage of maximum advances of aggregate face amount of certain eligible receivables</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PublicUtilitiesInterimRateIncreaseDecreasePercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Public Utilities, Interim Rate Increase (Decrease), Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Goodwill, Impairment Loss</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_GoodwillImpairmentLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Goodwill impairment losses</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common stock repurchase, value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Treasury Stock, Common, Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountingPoliciesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounting Policies [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Outstanding Stock Option Activity</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Payment Arrangement, Option, Activity [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCredit_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Long-term Line of Credit, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCredit_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of credit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCredit_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Line of Credit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax Disclosure [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stockholders&#8217; equity:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StockholdersEquityAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Equity, Attributable to Parent [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Inventory, Raw Materials and Supplies, Gross, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Raw Materials and Supplies, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Raw materials</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Statement [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Segment Information</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Segment Reporting, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Property and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Acquired Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average remaining contractual term (in years), Vested and expected to vest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Event [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Liabilities and Other Liabilities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Other Current Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Other assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MarketingRelatedIntangibleAssetsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Market related intangibles</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_MarketingRelatedIntangibleAssetsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Marketing-Related Intangible Assets [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityFileNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity File Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityFileNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Securities Act File Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetBackedSecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Asset-backed Securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetBackedSecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Asset-Backed Securities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AtTheMarketOfferingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">ATM [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AtTheMarketOfferingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">At The Market Offering [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AtTheMarketOfferingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">At The Market Offering [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Net increase (decrease) in cash, cash equivalents and restricted cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue from Contract with Customer [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_NimbelinkMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">NimbeLink</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_NimbelinkMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">NimbeLink [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_NimbelinkMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">NimbeLink.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Net loss per share:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Earnings Per Share [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SalesChannelDistributorsAndResellersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Sales channel distributors and resellers member.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SalesChannelDistributorsAndResellersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sales Channel Distributors And Resellers [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_SalesChannelDistributorsAndResellersMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Distributors and resellers</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TransferredAtPointInTimeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Transferred at Point in Time [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TransferredAtPointInTimeMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Transferred At Point In Time</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory Disclosure [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_StatementOfFinancialPositionAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Financial Position [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_RevenueRecognitionPaymentTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revenue recognition, payment terms</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_RevenueRecognitionPaymentTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenue Recognition Payment Terms</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_RevenueRecognitionPaymentTerms_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Revenue recognition, payment terms.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Loss from operations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Income (Loss)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedBonusesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Bonuses, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedBonusesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued income taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedIncomeTaxesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Income Taxes, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityShellCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Shell Company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityShellCompany_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Shell Company</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line Of Credit Facility [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line of Credit Facility [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Tax Identification Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityTaxIdentificationNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Tax Identification Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AssetsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Assets [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Fair Value Measurements</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Fair Value of Financial Instruments, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_CN_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">China</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="country_CN_lbl" xlink:role="http://www.xbrl.org/2003/role/label">CHINA</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_StockOptionsAndRestrictedStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock Options, Restricted Stock and Performance Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_StockOptionsAndRestrictedStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Stock options and restricted stock.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_StockOptionsAndRestrictedStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Stock Options And Restricted Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCurrentReportingStatus_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Current Reporting Status</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCurrentReportingStatus_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Current Reporting Status</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average remaining contractual term (in years), Vested and exercisable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WarrantyReservesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Warranty Reserves [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WarrantyReservesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SEC Schedule, 12-09, Reserve, Warranty [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Accrued Liabilities and Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Accounts Payable and Accrued Liabilities [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Events [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_SegmentGeographicalDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Geographical</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_SegmentGeographicalDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Geographical [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFiscalYearFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Fiscal Year Focus</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentFiscalYearFocus_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Fiscal Year Focus</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedRentCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Current portion of deferred rent obligation under operating lease</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedRentCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Rent, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CustomerEMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer E [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CustomerEMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer E</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CustomerEMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Customer E.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Number of stock options, Expired/Forfeited</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrual of property and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Capital Expenditures Incurred but Not yet Paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Repurchases of common stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Treasury Stock, Value, Acquired, Cost Method</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock repurchase, cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total cash, cash equivalents, and restricted cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Cash, cash equivalents, and restricted cash; end of period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Cash, cash equivalents, and restricted cash; beginning of period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BusinessAcquisitionAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Business Acquisition [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CityAreaCode_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">City Area Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_CityAreaCode_lbl" xlink:role="http://www.xbrl.org/2003/role/label">City Area Code</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_OtherIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Other expense (income)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_OtherIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Other (income) expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_OtherIncomeExpense_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other (income) expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommitmentAndContingenciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Commitment and contingencies.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommitmentAndContingenciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commitment And Contingencies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommitmentAndContingenciesTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitment And Contingencies [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Reclassifications</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Reclassification, Comparability Adjustment [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total current liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Liabilities, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_EmployeeRetentionCreditRefunds_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Employee Retention Credit Refunds</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_EmployeeRetentionCreditRefunds_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Employee Retention Credit Refunds</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_EmployeeRetentionCreditRefunds_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Employee retention credit refunds</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DomesticLineOfCreditMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Choice Financial Group (Choice)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DomesticLineOfCreditMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Domestic Line of Credit [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accrued liabilities and other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued and other liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Liabilities and Other Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line of Credit Facility, Lender [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryNet_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Total Consigned Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryNet_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryNet_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryNet_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Inventories</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Inventory, Finished Goods, Gross, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory, Finished Goods, Gross</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InventoryFinishedGoods_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Finished good</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">U.S. federal statutory tax rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash and Cash Equivalents</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash, Cash Equivalents, and Short-Term Investments [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Organization, Consolidation and Presentation of Financial Statements [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_LocalPhoneNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Local Phone Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_LocalPhoneNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Local Phone Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Antidilutive Securities Excluded From Computation Of Earnings Per Share [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_PaymentsForInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Payments for inventory.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_PaymentsForInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Payments for inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_PaymentsForInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments For Inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockAndAdditionalPaidInCapitalMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Common Stock and Additional Paid-In Capital.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockAndAdditionalPaidInCapitalMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common Stock and Additional Paid-in Capital</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CommonStockAndAdditionalPaidInCapitalMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock And Additional Paid In Capital [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Income Tax, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeTaxPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Income Taxes</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsidiarySaleOfStockLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsidiary, Sale of Stock [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Finite lived intangible assets amortization expense after year four.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Thereafter</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite Lived Intangible Assets Amortization Expense After Year Four</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies Disclosure [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockValue_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Treasury stock, at cost: 541 shares at June 30, 2024 and December 31, 2023.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Treasury Stock, Value, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Treasury Stock, Value, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Treasury Stock, Value, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Treasury Stock, Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel">Less short-term lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Less short-term lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Short-term lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Liability, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Developed technologies</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DevelopedTechnologyRightsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Developed Technology Rights [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PublicUtilitiesInventoryRawMaterialsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Raw Materials [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PublicUtilitiesInventoryRawMaterialsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Raw Materials [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ConsignedInventoriesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Consigned inventories [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ConsignedInventoriesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Consigned inventories [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">In Process R&amp;D</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">In Process Research and Development [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">In-process research and development</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accumulated Deficit</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RetainedEarningsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Retained Earnings [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PublicUtilitiesInventoryTypeDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Inventory [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Payments to Acquire Property, Plant, and Equipment, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Purchases of property and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Payments to Acquire Property, Plant, and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share Based Compensation Arrangement by Share based Payment Award Options Granted Weighted Average Remaining Contractual Term1</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Based Compensation Arrangement By Share Based Payment Award Options Granted Weighted Average Remaining Contractual Term1</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average remaining contractual term (in years), Granted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentTransitionReport_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Document Transition Report</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_DocumentTransitionReport_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Document Transition Report</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancelledWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Share based compensation arrangement by share based payment award options cancelled weighted average remaining contractual term 1.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancelledWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Based Compensation Arrangement By Share Based Payment Award Options Cancelled Weighted Average Remaining Contractual Term1</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancelledWeightedAverageRemainingContractualTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average remaining contractual term (in years), Expired/Forfeited</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock approved for repurchase, value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share Repurchase Program, Authorized, Amount</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LongTermDebtAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Long-Term Debt, Unclassified [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Purchase price percentage of market value of common stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2026</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Antidilutive Securities Excluded From Computation Of Earnings Per Share [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Antidilutive Security, Excluded EPS Calculation [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CustomerDMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Customer D.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CustomerDMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer D</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CustomerDMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer D [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average exercise price, Exercised</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2024 (remaining six months)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MinimumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Minimum</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_MinimumMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Minimum [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common Stock</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedCash_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted cash included in prepaid expenses and other current assets and other assets long term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedCash_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restricted Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RestrictedCash_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Restricted Cash, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_RestrictedCashPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Restricted Cash [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_RestrictedCashPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Restricted Cash [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_RestrictedCashPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Restricted Cash</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued Liabilities and Other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Payable and Accrued Liabilities Disclosure [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Stock options expected to vest aggregate intrinsic value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock options vested and expected to vest aggregate intrinsic value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Weighted average grant date fair value, Beginning balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Weighted average grant date fair value, Ending balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_DeferredRevenueRecognitionPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred revenue recognition period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_DeferredRevenueRecognitionPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Revenue Recognition Period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_DeferredRevenueRecognitionPeriod_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Deferred revenue recognition period</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Adjustments to reconcile net loss to net cash provided by (used in) operating activities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncomeStatementLocationDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Statement of Income Location, Balance [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2025</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Other Assets, Noncurrent, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Assets, Noncurrent</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Entity Common Stock, Shares Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntityCommonStockSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Common Stock, Shares Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued liabilities and other</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Disaggregation Of Revenue [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Disaggregation of Revenue [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Revenues from External Customers and Long-Lived Assets [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Basis of Presentation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Basis of Accounting, Policy [Policy Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">2025</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_Rule10B51ArrModifiedFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Rule 10b5-1 Arrangement Modified</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_Rule10B51ArrModifiedFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Rule 10b51 Arr Modified Flag</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_Rule10B51ArrModifiedFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Rule 10b51 Arr Modified Flag</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Cash and cash equivalents and short-term investments.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash And Cash Equivalents And Short Term Investments [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Cash And Cash Equivalents And Short Term Investments [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Customer relationships</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CustomerRelationshipsMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Customer Relationships [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Common Stock, Value, ATM Available for Issuance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Common Stock, Value, Issued</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Accrued compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Employee Related Liabilities, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrued bonus</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Employee Related Liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Accrued compensation</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule of Estimated Annual Amortization of Intangible Assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AccrualOfPropertyAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Accrual of property and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AccrualOfPropertyAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrual of property and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_AccrualOfPropertyAndEquipment_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accrual of property and equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_NorthAmericaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">North America</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="srt_NorthAmericaMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">North America [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Nonoperating Income (Expense) [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other (income) expense:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Operating lease liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Total lease liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Commitments and contingencies (Note 13)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Commitments and Contingencies</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Schedule Of Acquired Finite Lived Intangible Asset By Major Class [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Schedule of Acquired Finite-Lived Intangible Asset by Major Class [Table]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerRightToRecoverProduct_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Contract with Customer, Right to Recover Product, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerRightToRecoverProduct_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract with Customer, Right to Recover Product</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerRightToRecoverProduct_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contract with Customer, Right to Recover Product</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Outstanding, Diluted</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Diluted weighted average common shares outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Diluted weighted average common shares outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Summary of Significant Accounting Policies</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Significant Accounting Policies [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentOtherTypesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Other Property and Equipment</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentOtherTypesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Property, Plant and Equipment, Other Types [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Trade accounts receivable, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accounts Receivable, after Allowance for Credit Loss, Current, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Receivable, after Allowance for Credit Loss, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Number of stock options, Vested and expected to vest</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Lessee, Operating Lease, Liability, to be Paid</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Total minimum payments</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Increase (Decrease) in Inventories, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Increase (Decrease) in Inventories</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Inventories</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Weighted average shares used in calculating loss per share:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Weighted Average Number of Shares Outstanding, Diluted [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Denominator:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Concentration Risk Benchmark</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Concentration Risk Benchmark [Domain]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntitySmallBusiness_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Entity Small Business</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="dei_EntitySmallBusiness_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Entity Small Business</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_EmployeeStockPurchasePlanSharesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Employee Stock Purchase Plan Shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_EmployeeStockPurchasePlanSharesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Employee Stock Purchase Plan shares [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_EmployeeStockPurchasePlanSharesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Employee Stock Purchase Plan shares [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Basis spread on variable interest rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Debt Instrument, Basis Spread on Variable Rate</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_USTreasurySecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">US Treasury Securities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_USTreasurySecuritiesMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">US Treasury Securities [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ProvisionForExcessAndObsoleteInventories_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Provision for excess and obsolete inventories</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ProvisionForExcessAndObsoleteInventories_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Provision for excess and obsolete inventories</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ProvisionForExcessAndObsoleteInventories_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Excess and obsolete inventory reserves</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SalesAndExciseTaxPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">VAT payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SalesAndExciseTaxPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Sales and Excise Tax Payable, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockSharesAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Stock repurchase, shares</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_TreasuryStockSharesAcquired_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Treasury Stock, Shares, Acquired</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Intangible Assets, Net (Excluding Goodwill) [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revenues from External Customers and Long-Lived Assets [Line Items]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditFacilityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Credit Facility</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_CreditFacilityAxis_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Credit Facility [Axis]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Revolving Credit Facility</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RevolvingCreditFacilityMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Revolving Credit Facility [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityCovenantCompliance_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of credit facility covenant compliance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityCovenantCompliance_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line of Credit Facility, Covenant Compliance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Cash flows from financing activities:</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Net Cash Provided by (Used in) Financing Activities [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Weighted average exercise price, Beginning balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Weighted average exercise price, Ending balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ContractLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Carrying value as of the balance sheet date of contract liabilities.</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ContractLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Contract Liabilities Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_ContractLiabilitiesCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Contract liabilities</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Intangible Assets, Net (Excluding Goodwill), Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Intangible assets, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Intangible Assets, Net (Excluding Goodwill)</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CovenantsToNonCompeteMember_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Covenants to non-compete</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CovenantsToNonCompeteMember_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Covenants To Non-Compete [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_CovenantsToNonCompeteMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Covenants To Non-Compete [Member]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Right-of-Use Asset Obtained in Exchange for Operating Lease Liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Right-of-use asset obtained in exchange for operating lease liability</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Operating lease liabilities resulting from right-of-use assets</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Line of credit facility, percentage of reserve for excess and obsolete inventory</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Line Of Credit Facility Reserve For Excess And Obsolete Inventory Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Line Of Credit Facility Reserve For Excess And Obsolete Inventory Percentage</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel">Aggregate Intrinsic Value, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel">Aggregate Intrinsic Value, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/verboseLabel">Aggregate intrinsic value, Beginning Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Aggregate Intrinsic Value, Ending Balance</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Outstanding</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Operating lease weighted average remaining lease term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Operating Lease, Weighted Average Remaining Lease Term</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Subsequent Events [Text Block]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Subsequent Event</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/totalLabel">Accounts Payable, Current, Total</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Accounts payable</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccountsPayableCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accounts Payable, Current</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_NonRule10B51ArrModifiedFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Non-Rule 10b5-1 Arrangement Modified</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_NonRule10B51ArrModifiedFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Non Rule 10B51 Arr Modified Flag</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="airg_NonRule10B51ArrModifiedFlag_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation">Non Rule 10B51 Arr Modified Flag</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_DeferredOfferingCosts_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Deferred Offering Costs</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncome_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Other Nonoperating Income</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncome_lbl" xlink:role="http://www.xbrl.org/2009/role/negatedLabel">Interest income, net</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_RisksAndUncertaintiesAbstract_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Risks and Uncertainties [Abstract]</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShortTermLeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Short-Term Lease, Cost</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_ShortTermLeaseCost_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Short-term leases expense</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedRentNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/terseLabel">Deferred rent obligation under operating lease</link:label>
          <link:label xml:lang="en-US" xlink:type="resource" xlink:label="us-gaap_AccruedRentNoncurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/label">Accrued Rent, Noncurrent</link:label>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryCurrentTable" xlink:to="us-gaap_InventoryCurrentTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PublicUtilitiesInventoryTable" xlink:to="us-gaap_PublicUtilitiesInventoryTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameDomain" xlink:to="us-gaap_PlanNameDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember" xlink:to="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" xlink:to="us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsPolicy" xlink:to="us-gaap_BusinessCombinationsPolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_StockOptionAwardsIssuedAndOutstandingMember" xlink:to="airg_StockOptionAwardsIssuedAndOutstandingMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_StockRepurchaseProgramAdditionalPeriodInForce1" xlink:to="airg_StockRepurchaseProgramAdditionalPeriodInForce1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CommonStockIssuedThroughStockOptions" xlink:to="airg_CommonStockIssuedThroughStockOptions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" xlink:to="us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NumberOfOperatingSegments" xlink:to="us-gaap_NumberOfOperatingSegments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationDisclosureTextBlock" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossTaxAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharesOutstanding" xlink:to="us-gaap_SharesOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel2Member" xlink:to="us-gaap_FairValueInputsLevel2Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_MajorCustomersMember" xlink:to="airg_MajorCustomersMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_ScheduleOfStockByClassTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PublicUtilitiesInventorySuppliesMember" xlink:to="us-gaap_PublicUtilitiesInventorySuppliesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable" xlink:to="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockTextBlock" xlink:to="us-gaap_TreasuryStockTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="us-gaap_ClassOfTreasuryStockTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeStockMember" xlink:to="us-gaap_EmployeeStockMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_LeaseTerminationDate" xlink:to="airg_LeaseTerminationDate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage" xlink:to="airg_LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockDisclosuresAbstract" xlink:to="us-gaap_ClassOfStockDisclosuresAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryPolicyTextBlock" xlink:to="us-gaap_InventoryPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashEquivalentsAtCarryingValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WarrantMember" xlink:to="us-gaap_WarrantMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:to="us-gaap_ConcentrationRiskDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RepurchaseAgreementsMember" xlink:to="us-gaap_RepurchaseAgreementsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_VN" xlink:to="country_VN_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerSalesChannelDomain" xlink:to="us-gaap_ContractWithCustomerSalesChannelDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_ConcentrationRiskTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_EquityClassOfTreasuryStockLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_MajorCustomersAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerConcentrationRiskMember" xlink:to="us-gaap_CustomerConcentrationRiskMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_NumberOfVendors" xlink:to="airg_NumberOfVendors_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityExpirationDate1" xlink:to="us-gaap_LineOfCreditFacilityExpirationDate1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CoverAbstract" xlink:to="dei_CoverAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_AmortizationOfPrepaidAssets" xlink:to="airg_AmortizationOfPrepaidAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerAssetNet" xlink:to="us-gaap_ContractWithCustomerAssetNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseOptionToExtend" xlink:to="us-gaap_LesseeOperatingLeaseOptionToExtend_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_DeferredPurchasePriceLiabilitiesCurrent" xlink:to="airg_DeferredPurchasePriceLiabilitiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_DescriptionOfBusinessPolicyTextBlock" xlink:to="airg_DescriptionOfBusinessPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ShareGrantedUponSettlementOfDebt" xlink:to="airg_ShareGrantedUponSettlementOfDebt_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherLiabilities" xlink:to="us-gaap_OtherLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_IncreaseDecreaseInLeaseLiabilities" xlink:to="airg_IncreaseDecreaseInLeaseLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:to="us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpenseMember" xlink:to="us-gaap_SellingAndMarketingExpenseMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ScheduleOfPerformanceStockUnitTableTextBlock" xlink:to="airg_ScheduleOfPerformanceStockUnitTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockRepurchaseProgramPeriodInForce1" xlink:to="us-gaap_StockRepurchaseProgramPeriodInForce1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AllocatedShareBasedCompensationExpense" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdvertisingCostsPolicyTextBlock" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_LineOfCreditFacilityAggregateEligibleAccountsPercentage" xlink:to="airg_LineOfCreditFacilityAggregateEligibleAccountsPercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember" xlink:to="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_US" xlink:to="country_US_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_StockAwardsIssuedAndOutstandingMember" xlink:to="airg_StockAwardsIssuedAndOutstandingMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherCommitmentsAxis" xlink:to="us-gaap_OtherCommitmentsAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_AutomotiveMember" xlink:to="airg_AutomotiveMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_SalesChannelOEMODMContractManufacturerMember" xlink:to="airg_SalesChannelOEMODMContractManufacturerMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityFrequencyOfPayments" xlink:to="us-gaap_LineOfCreditFacilityFrequencyOfPayments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_UnrealizedTranslationGain" xlink:to="airg_UnrealizedTranslationGain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_AmendmentFlag" xlink:to="dei_AmendmentFlag_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_EnterpriseMember" xlink:to="airg_EnterpriseMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CorporateDebtSecuritiesMember" xlink:to="us-gaap_CorporateDebtSecuritiesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LessorOperatingLeaseTermOfContract" xlink:to="us-gaap_LessorOperatingLeaseTermOfContract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_VariableRateDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpenseMember" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenMember" xlink:to="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="srt_NameOfMajorCustomerDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_RightOfUseAssetsRecordedInNonCashInvestingAndFinancingActivities" xlink:to="airg_RightOfUseAssetsRecordedInNonCashInvestingAndFinancingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerSalesChannelAxis" xlink:to="us-gaap_ContractWithCustomerSalesChannelAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeMember" xlink:to="srt_RangeMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FurnitureAndFixturesMember" xlink:to="us-gaap_FurnitureAndFixturesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProfitLoss" xlink:to="us-gaap_ProfitLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromStockOptionsExercised" xlink:to="us-gaap_ProceedsFromStockOptionsExercised_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStocksIncludingAdditionalPaidInCapital" xlink:to="us-gaap_CommonStocksIncludingAdditionalPaidInCapital_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashEquivalents" xlink:to="us-gaap_RestrictedCashEquivalents_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_PayablesAndAccrualsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNetAbstract" xlink:to="us-gaap_InventoryNetAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_AtmOfferingsMember" xlink:to="airg_AtmOfferingsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock" xlink:to="airg_ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransferredOverTimeMember" xlink:to="us-gaap_TransferredOverTimeMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ConsumerMember" xlink:to="airg_ConsumerMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_TypeOfArrangementAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SeveranceCosts1" xlink:to="us-gaap_SeveranceCosts1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_MM" xlink:to="country_MM_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_SummaryOfFairValueOfPurchaseConsiderationTableTextBlock" xlink:to="airg_SummaryOfFairValueOfPurchaseConsiderationTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CashEquivalentsAndShortTermInvestmentsPolicyPolicyTextBlock" xlink:to="airg_CashEquivalentsAndShortTermInvestmentsPolicyPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherCommitmentsDomain" xlink:to="us-gaap_OtherCommitmentsDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesRevenueNetMember" xlink:to="us-gaap_SalesRevenueNetMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:to="us-gaap_ProceedsFromIssuanceOrSaleOfEquity_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Cash" xlink:to="us-gaap_Cash_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseExpirationDate1" xlink:to="us-gaap_LeaseExpirationDate1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfSalesMember" xlink:to="us-gaap_CostOfSalesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_PaymentOfSeveranceCosts" xlink:to="airg_PaymentOfSeveranceCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare" xlink:to="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_SignificantAccountingPoliciesTable" xlink:to="airg_SignificantAccountingPoliciesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_RangeAxis" xlink:to="srt_RangeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfGoodsAndServicesSold" xlink:to="us-gaap_CostOfGoodsAndServicesSold_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseCost" xlink:to="us-gaap_OperatingLeaseCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_LineOfCreditFacilityNetAllowancePercentage" xlink:to="airg_LineOfCreditFacilityNetAllowancePercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockExpense" xlink:to="us-gaap_RestrictedStockExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock" xlink:to="airg_ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember" xlink:to="us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsGross" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:to="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MachineryAndEquipmentMember" xlink:to="us-gaap_MachineryAndEquipmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_AuthorizedForGrantsUnderTheInducementPlanMember" xlink:to="airg_AuthorizedForGrantsUnderTheInducementPlanMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Assets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_FinishedGoodsMember" xlink:to="airg_FinishedGoodsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_SalesChannelOtherMember" xlink:to="airg_SalesChannelOtherMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_EquityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrepaidExpenseAndOtherAssetsNoncurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_WarrantsIssuedAndOutstandingMember" xlink:to="airg_WarrantsIssuedAndOutstandingMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalLeaseObligationsIncurred" xlink:to="us-gaap_CapitalLeaseObligationsIncurred_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ScheduleOfTheCompanysAtmSalesActivityTabletextblock" xlink:to="airg_ScheduleOfTheCompanysAtmSalesActivityTabletextblock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_WarrantyExpenseReserved" xlink:to="airg_WarrantyExpenseReserved_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CompensationRelatedCostsAbstract" xlink:to="us-gaap_CompensationRelatedCostsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Depreciation" xlink:to="us-gaap_Depreciation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment" xlink:to="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConstructionInProgressMember" xlink:to="us-gaap_ConstructionInProgressMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_StockOptionsIssuedAndOutstandingMember" xlink:to="airg_StockOptionsIssuedAndOutstandingMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock" xlink:to="airg_ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_PerformanceStockUnitMember" xlink:to="airg_PerformanceStockUnitMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_DescriptionOfPerformanceStockUnit" xlink:to="airg_DescriptionOfPerformanceStockUnit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:to="us-gaap_IntangibleAssetsFiniteLivedPolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoriesMember" xlink:to="us-gaap_InventoriesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue" xlink:to="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableMember" xlink:to="us-gaap_AccountsReceivableMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxesPaidNet" xlink:to="us-gaap_IncomeTaxesPaidNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentType" xlink:to="dei_DocumentType_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_Security12bTitle" xlink:to="dei_Security12bTitle_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:to="airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCashAndCashEquivalents" xlink:to="us-gaap_RestrictedCashAndCashEquivalents_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueAbstract" xlink:to="us-gaap_DisaggregationOfRevenueAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentGross" xlink:to="us-gaap_PropertyPlantAndEquipmentGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_OtherCountriesMember" xlink:to="airg_OtherCountriesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm1" xlink:to="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StockRepurchaseProgramExpirationDate" xlink:to="srt_StockRepurchaseProgramExpirationDate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_SeveranceAndExitCosts1" xlink:to="airg_SeveranceAndExitCosts1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PublicUtilitiesInventoryAxis" xlink:to="us-gaap_PublicUtilitiesInventoryAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SubsidiarySaleOfStockAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_InvestmentTypeCategorizationMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="stpr_MN" xlink:to="stpr_MN_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards" xlink:to="airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VehiclesMember" xlink:to="us-gaap_VehiclesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_DebtConversionConvertatedAmount" xlink:to="airg_DebtConversionConvertatedAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_CreditFacilityDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TradeNamesMember" xlink:to="us-gaap_TradeNamesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="us-gaap_ShortTermDebtTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAccruedLiabilitiesCurrent" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_SalesChannelFulfillmentDistributorsMember" xlink:to="airg_SalesChannelFulfillmentDistributorsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EmployeeBenefitsAndShareBasedCompensation" xlink:to="us-gaap_EmployeeBenefitsAndShareBasedCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember" xlink:to="airg_ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_LiquidityRatio" xlink:to="airg_LiquidityRatio_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CustomerBMember" xlink:to="airg_CustomerBMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SaleOfStockConsiderationReceivedOnTransaction" xlink:to="us-gaap_SaleOfStockConsiderationReceivedOnTransaction_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare" xlink:to="airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_PurchaseOfInventory" xlink:to="airg_PurchaseOfInventory_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingExpense" xlink:to="us-gaap_OtherNonoperatingExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_TradingSymbol" xlink:to="dei_TradingSymbol_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_BusinessCombinationsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CommitmentAndContingenciesLineItems" xlink:to="airg_CommitmentAndContingenciesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent" xlink:to="airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ShareSettledObligationMember" xlink:to="airg_ShareSettledObligationMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EMEAMember" xlink:to="us-gaap_EMEAMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedStockUnitsRSUMember" xlink:to="us-gaap_RestrictedStockUnitsRSUMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CustomerAMember" xlink:to="airg_CustomerAMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Goodwill" xlink:to="us-gaap_Goodwill_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ShareRepurchaseProgramAxis" xlink:to="srt_ShareRepurchaseProgramAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ComputersAndSoftwareMember" xlink:to="airg_ComputersAndSoftwareMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_TwoThousandAndSixteenEquityIncentivePlanMember" xlink:to="airg_TwoThousandAndSixteenEquityIncentivePlanMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LeasesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskPercentage1" xlink:to="us-gaap_ConcentrationRiskPercentage1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ClassOfStockLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_SecurityExchangeName" xlink:to="dei_SecurityExchangeName_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_AccruedExpenseOfSeverancCosts" xlink:to="airg_AccruedExpenseOfSeverancCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock" xlink:to="us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditMember" xlink:to="us-gaap_LineOfCreditMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_AdvancedPaymentsFromContractManufacturers" xlink:to="airg_AdvancedPaymentsFromContractManufacturers_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventMember" xlink:to="us-gaap_SubsequentEventMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MaximumMember" xlink:to="srt_MaximumMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PrimeRateMember" xlink:to="us-gaap_PrimeRateMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_SupplyAgreementMember" xlink:to="airg_SupplyAgreementMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LeaseholdImprovementsMember" xlink:to="us-gaap_LeaseholdImprovementsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityExTransitionPeriod" xlink:to="dei_EntityExTransitionPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_Liabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityCommitmentFeeAmount" xlink:to="us-gaap_LineOfCreditFacilityCommitmentFeeAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityInterestRateDescription" xlink:to="us-gaap_LineOfCreditFacilityInterestRateDescription_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock" xlink:to="airg_ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CommonStockIssuedThroughStockOptionsShare" xlink:to="airg_CommonStockIssuedThroughStockOptionsShare_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFilerCategory" xlink:to="dei_EntityFilerCategory_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock" xlink:to="airg_RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxRefundsDiscontinuedOperations" xlink:to="us-gaap_IncomeTaxRefundsDiscontinuedOperations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityCovenantTerms" xlink:to="us-gaap_LineOfCreditFacilityCovenantTerms_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_GoodsReceivedNotInvoiced" xlink:to="airg_GoodsReceivedNotInvoiced_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_AccrualWarrantyExpense" xlink:to="airg_AccrualWarrantyExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_SubsidiaryCommonStockPurchaseByCompany" xlink:to="airg_SubsidiaryCommonStockPurchaseByCompany_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables" xlink:to="airg_LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityRegistrantName" xlink:to="dei_EntityRegistrantName_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_SeveranceCostsMember" xlink:to="airg_SeveranceCostsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock" xlink:to="airg_OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_GrossProfit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_SignificantAccountingPoliciesLineItems" xlink:to="airg_SignificantAccountingPoliciesLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CostOfRevenue" xlink:to="us-gaap_CostOfRevenue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MoneyMarketFundsMember" xlink:to="us-gaap_MoneyMarketFundsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_ShareRepurchaseProgramDomain" xlink:to="srt_ShareRepurchaseProgramDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskByTypeAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashAndCashEquivalentsAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueInputsLevel1Member" xlink:to="us-gaap_FairValueInputsLevel1Member_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtTextBlock" xlink:to="us-gaap_LongTermDebtTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AmortizationOfIntangibleAssets" xlink:to="us-gaap_AmortizationOfIntangibleAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CustomerCMember" xlink:to="airg_CustomerCMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_AsiaPacificMember" xlink:to="srt_AsiaPacificMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ChinaIncludingHongKongAndTaiwanMember" xlink:to="airg_ChinaIncludingHongKongAndTaiwanMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GeneralAndAdministrativeExpenseMember" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueRecognitionPolicyTextBlock" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NoncurrentAssets" xlink:to="us-gaap_NoncurrentAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PublicUtilitiesInterimRateIncreaseDecreasePercentage" xlink:to="us-gaap_PublicUtilitiesInterimRateIncreaseDecreasePercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_GoodwillImpairmentLoss" xlink:to="us-gaap_GoodwillImpairmentLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockCommonValue" xlink:to="us-gaap_TreasuryStockCommonValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCredit" xlink:to="us-gaap_LineOfCredit_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryRawMaterialsAndSupplies" xlink:to="us-gaap_InventoryRawMaterialsAndSupplies_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_MarketingRelatedIntangibleAssetsMember" xlink:to="us-gaap_MarketingRelatedIntangibleAssetsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityFileNumber" xlink:to="dei_EntityFileNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetBackedSecuritiesMember" xlink:to="us-gaap_AssetBackedSecuritiesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_AtTheMarketOfferingMember" xlink:to="airg_AtTheMarketOfferingMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_NimbelinkMember" xlink:to="airg_NimbelinkMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_SalesChannelDistributorsAndResellersMember" xlink:to="airg_SalesChannelDistributorsAndResellersMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TransferredAtPointInTimeMember" xlink:to="us-gaap_TransferredAtPointInTimeMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_RevenueRecognitionPaymentTerms" xlink:to="airg_RevenueRecognitionPaymentTerms_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedBonusesCurrent" xlink:to="us-gaap_AccruedBonusesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedIncomeTaxesCurrent" xlink:to="us-gaap_AccruedIncomeTaxesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityShellCompany" xlink:to="dei_EntityShellCompany_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="country_CN" xlink:to="country_CN_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_StockOptionsAndRestrictedStockMember" xlink:to="airg_StockOptionsAndRestrictedStockMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WarrantyReservesMember" xlink:to="us-gaap_WarrantyReservesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:to="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedRentCurrent" xlink:to="us-gaap_AccruedRentCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CustomerEMember" xlink:to="airg_CustomerEMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_CityAreaCode" xlink:to="dei_CityAreaCode_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_OtherIncomeExpense" xlink:to="airg_OtherIncomeExpense_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CommitmentAndContingenciesTable" xlink:to="airg_CommitmentAndContingenciesTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:to="us-gaap_PriorPeriodReclassificationAdjustmentDescription_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_EmployeeRetentionCreditRefunds" xlink:to="airg_EmployeeRetentionCreditRefunds_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DomesticLineOfCreditMember" xlink:to="us-gaap_DomesticLineOfCreditMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:to="us-gaap_AccruedLiabilitiesAndOtherLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryNet_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InventoryFinishedGoods" xlink:to="us-gaap_InventoryFinishedGoods_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock" xlink:to="us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_PaymentsForInventory" xlink:to="airg_PaymentsForInventory_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CommonStockAndAdditionalPaidInCapitalMember" xlink:to="airg_CommonStockAndAdditionalPaidInCapitalMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeTaxPolicyTextBlock" xlink:to="us-gaap_IncomeTaxPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsidiarySaleOfStockLineItems" xlink:to="us-gaap_SubsidiarySaleOfStockLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" xlink:to="airg_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DevelopedTechnologyRightsMember" xlink:to="us-gaap_DevelopedTechnologyRightsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PublicUtilitiesInventoryRawMaterialsMember" xlink:to="us-gaap_PublicUtilitiesInventoryRawMaterialsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ConsignedInventoriesMember" xlink:to="airg_ConsignedInventoriesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_InProcessResearchAndDevelopmentMember" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:to="us-gaap_PublicUtilitiesInventoryTypeDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm1" xlink:to="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancelledWeightedAverageRemainingContractualTerm1" xlink:to="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancelledWeightedAverageRemainingContractualTerm1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_StockRepurchaseProgramAuthorizedAmount1" xlink:to="srt_StockRepurchaseProgramAuthorizedAmount1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LongTermDebtAbstract" xlink:to="us-gaap_LongTermDebtAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CustomerDMember" xlink:to="airg_CustomerDMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_MinimumMember" xlink:to="srt_MinimumMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockMember" xlink:to="us-gaap_CommonStockMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RestrictedCash" xlink:to="us-gaap_RestrictedCash_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_RestrictedCashPolicyTextBlock" xlink:to="airg_RestrictedCashPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_DeferredRevenueRecognitionPeriod" xlink:to="airg_DeferredRevenueRecognitionPeriod_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_IncomeStatementLocationDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_Rule10B51ArrModifiedFlag" xlink:to="airg_Rule10B51ArrModifiedFlag_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems" xlink:to="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CustomerRelationshipsMember" xlink:to="us-gaap_CustomerRelationshipsMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_AccrualOfPropertyAndEquipment" xlink:to="airg_AccrualOfPropertyAndEquipment_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="srt_NorthAmericaMember" xlink:to="srt_NorthAmericaMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ContractWithCustomerRightToRecoverProduct" xlink:to="us-gaap_ContractWithCustomerRightToRecoverProduct_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_PropertyPlantAndEquipmentOtherTypesMember" xlink:to="us-gaap_PropertyPlantAndEquipmentOtherTypesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="dei_EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_EmployeeStockPurchasePlanSharesMember" xlink:to="airg_EmployeeStockPurchasePlanSharesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_USTreasurySecuritiesMember" xlink:to="us-gaap_USTreasurySecuritiesMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ProvisionForExcessAndObsoleteInventories" xlink:to="airg_ProvisionForExcessAndObsoleteInventories_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SalesAndExciseTaxPayableCurrent" xlink:to="us-gaap_SalesAndExciseTaxPayableCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_TreasuryStockSharesAcquired" xlink:to="us-gaap_TreasuryStockSharesAcquired_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityAxis_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RevolvingCreditFacilityMember" xlink:to="us-gaap_RevolvingCreditFacilityMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_LineOfCreditFacilityCovenantCompliance" xlink:to="us-gaap_LineOfCreditFacilityCovenantCompliance_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_ContractLiabilitiesCurrent" xlink:to="airg_ContractLiabilitiesCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_CovenantsToNonCompeteMember" xlink:to="airg_CovenantsToNonCompeteMember_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage" xlink:to="airg_LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="airg_NonRule10B51ArrModifiedFlag" xlink:to="airg_NonRule10B51ArrModifiedFlag_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_DeferredOfferingCosts" xlink:to="us-gaap_DeferredOfferingCosts_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_OtherNonoperatingIncome" xlink:to="us-gaap_OtherNonoperatingIncome_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_RisksAndUncertaintiesAbstract_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_ShortTermLeaseCost" xlink:to="us-gaap_ShortTermLeaseCost_lbl"/>
          <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="us-gaap_AccruedRentNoncurrent" xlink:to="us-gaap_AccruedRentNoncurrent_lbl"/>
        </link:labelLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CoverAbstract" xlink:label="dei_CoverAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType" xlink:label="dei_DocumentType"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag" xlink:label="dei_AmendmentFlag"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate" xlink:label="dei_DocumentPeriodEndDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus" xlink:label="dei_DocumentFiscalYearFocus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="dei_DocumentFiscalPeriodFocus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol" xlink:label="dei_TradingSymbol"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName" xlink:label="dei_EntityRegistrantName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey" xlink:label="dei_EntityCentralIndexKey"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate" xlink:label="dei_CurrentFiscalYearEndDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus" xlink:label="dei_EntityCurrentReportingStatus"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent" xlink:label="dei_EntityInteractiveDataCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory" xlink:label="dei_EntityFilerCategory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany" xlink:label="dei_EntityShellCompany"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness" xlink:label="dei_EntitySmallBusiness"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany" xlink:label="dei_EntityEmergingGrowthCompany"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityExTransitionPeriod" xlink:label="dei_EntityExTransitionPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber" xlink:label="dei_EntityFileNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber" xlink:label="dei_EntityTaxIdentificationNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1" xlink:label="dei_EntityAddressAddressLine1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine2" xlink:label="dei_EntityAddressAddressLine2"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown" xlink:label="dei_EntityAddressCityOrTown"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince" xlink:label="dei_EntityAddressStateOrProvince"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode" xlink:label="dei_EntityAddressPostalZipCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode" xlink:label="dei_CityAreaCode"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber" xlink:label="dei_LocalPhoneNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="dei_EntityCommonStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentQuarterlyReport" xlink:label="dei_DocumentQuarterlyReport"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport" xlink:label="dei_DocumentTransitionReport"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle" xlink:label="dei_Security12bTitle"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName" xlink:label="dei_SecurityExchangeName"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="dei_EntityIncorporationStateCountryCode"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentType" order="49.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_AmendmentFlag" order="50.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentPeriodEndDate" order="51.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalYearFocus" order="52.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentFiscalPeriodFocus" order="53.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_TradingSymbol" order="54.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityRegistrantName" order="55.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCentralIndexKey" order="56.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CurrentFiscalYearEndDate" order="57.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCurrentReportingStatus" order="58.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityInteractiveDataCurrent" order="59.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFilerCategory" order="60.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityShellCompany" order="61.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntitySmallBusiness" order="62.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityEmergingGrowthCompany" order="63.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityExTransitionPeriod" order="64.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityFileNumber" order="65.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityTaxIdentificationNumber" order="66.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine1" order="67.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressAddressLine2" order="68.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressCityOrTown" order="69.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressStateOrProvince" order="70.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityAddressPostalZipCode" order="71.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_CityAreaCode" order="72.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_LocalPhoneNumber" order="73.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityCommonStockSharesOutstanding" order="74.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentQuarterlyReport" order="75.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_DocumentTransitionReport" order="76.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_Security12bTitle" order="77.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_SecurityExchangeName" order="78.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="dei_CoverAbstract" xlink:to="dei_EntityIncorporationStateCountryCode" order="79.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="us-gaap_AssetsCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="us-gaap_LiabilitiesCurrentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="us-gaap_StockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStocksIncludingAdditionalPaidInCapital" xlink:label="us-gaap_CommonStocksIncludingAdditionalPaidInCapital"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract" xlink:label="us-gaap_AssetsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedBonusesCurrent" xlink:label="us-gaap_AccruedBonusesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent" xlink:label="airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedRentNoncurrent" xlink:label="us-gaap_AccruedRentNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_DeferredPurchasePriceLiabilitiesCurrent" xlink:label="airg_DeferredPurchasePriceLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedRentCurrent" xlink:label="us-gaap_AccruedRentCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccountsPayableCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_CommonStocksIncludingAdditionalPaidInCapital" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_AssetsAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedBonusesCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_TreasuryStockValue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_InventoryNet" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_AccruedRentNoncurrent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Goodwill" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="airg_DeferredPurchasePriceLiabilitiesCurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_Liabilities" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquity" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_AccruedRentCurrent" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_CommitmentsAndContingencies" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_OtherAssetsNoncurrent" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrent" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AssetsAbstract" xlink:to="us-gaap_Assets" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="us-gaap_StatementOfFinancialPositionAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="us-gaap_CommonStockSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="us-gaap_CommonStockSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesAuthorized" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesIssued" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_CommonStockSharesOutstanding" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfFinancialPositionAbstract" xlink:to="us-gaap_TreasuryStockCommonShares" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract" xlink:label="us-gaap_IncomeStatementAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="us-gaap_OperatingExpensesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:label="us-gaap_OtherNonoperatingIncomeExpenseAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncome" xlink:label="us-gaap_OtherNonoperatingIncome"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingExpense" xlink:label="us-gaap_OtherNonoperatingExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_OtherIncomeExpense" xlink:label="airg_OtherIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpense" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncome" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_CostOfRevenue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_SellingAndMarketingExpense" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingExpense" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_GrossProfit" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_GeneralAndAdministrativeExpense" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="airg_OtherIncomeExpense" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OperatingExpensesAbstract" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherNonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OperatingIncomeLoss" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpenses" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_OtherNonoperatingIncomeExpenseAbstract" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_NetIncomeLoss" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_EarningsPerShareAbstract" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossTaxAbstract" xlink:label="us-gaap_OtherComprehensiveIncomeLossTaxAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_OtherComprehensiveIncomeLossTaxAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockAndAdditionalPaidInCapitalMember" xlink:label="airg_CommonStockAndAdditionalPaidInCapitalMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockIssuedThroughStockOptionsShare" xlink:label="airg_CommonStockIssuedThroughStockOptionsShare"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockIssuedThroughStockOptions" xlink:label="airg_CommonStockIssuedThroughStockOptions"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare" xlink:label="airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards" xlink:label="airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare" xlink:label="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue" xlink:label="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity_14"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding_15"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="airg_CommonStockAndAdditionalPaidInCapitalMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockCommonMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="airg_CommonStockIssuedThroughStockOptionsShare" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="airg_CommonStockIssuedThroughStockOptions" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity_14" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding_15" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_RightOfUseAssetsRecordedInNonCashInvestingAndFinancingActivities" xlink:label="airg_RightOfUseAssetsRecordedInNonCashInvestingAndFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="us-gaap_StatementOfCashFlowsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalCashFlowInformationAbstract" xlink:label="us-gaap_SupplementalCashFlowInformationAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaidNet" xlink:label="us-gaap_IncomeTaxesPaidNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalLeaseObligationsIncurred" xlink:label="us-gaap_CapitalLeaseObligationsIncurred"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxRefundsDiscontinuedOperations" xlink:label="us-gaap_IncomeTaxRefundsDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" xlink:label="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock" xlink:label="airg_OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AmortizationOfPrepaidAssets" xlink:label="airg_AmortizationOfPrepaidAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCash" xlink:label="us-gaap_RestrictedCash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_6"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AccrualOfPropertyAndEquipment" xlink:label="airg_AccrualOfPropertyAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_7"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_IncreaseDecreaseInLeaseLiabilities" xlink:label="airg_IncreaseDecreaseInLeaseLiabilities"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="airg_RightOfUseAssetsRecordedInNonCashInvestingAndFinancingActivities" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ProfitLoss" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_IncomeTaxesPaidNet" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_Depreciation" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_CapitalLeaseObligationsIncurred" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SupplementalCashFlowInformationAbstract" xlink:to="us-gaap_IncomeTaxRefundsDiscontinuedOperations" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_ShareBasedCompensation" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="airg_OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="airg_AmortizationOfPrepaidAssets" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_RestrictedCash" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_6" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="airg_AccrualOfPropertyAndEquipment" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations_7" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="airg_IncreaseDecreaseInLeaseLiabilities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_SupplementalCashFlowInformationAbstract" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementOfCashFlowsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_InsiderTradingArrLineItems" xlink:label="ecd_InsiderTradingArrLineItems"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_Rule10B51ArrModifiedFlag" xlink:label="airg_Rule10B51ArrModifiedFlag"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_NonRule10B51ArrModifiedFlag" xlink:label="airg_NonRule10B51ArrModifiedFlag"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_InsiderTradingArrLineItems" xlink:to="airg_Rule10B51ArrModifiedFlag" order="14.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ecd_InsiderTradingArrLineItems" xlink:to="airg_NonRule10B51ArrModifiedFlag" order="15.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDescriptionOfBusinessAndBasisOfPresentation" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="us-gaap_SignificantAccountingPoliciesTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SignificantAccountingPoliciesTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShare" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="us-gaap_EarningsPerShareTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinations" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationDisclosureTextBlock" xlink:label="us-gaap_BusinessCombinationDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_BusinessCombinationDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalents" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock" xlink:label="us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAbstract" xlink:to="us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureInventory1" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="us-gaap_InventoryDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipment" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwill" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" xlink:label="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOther" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PayablesAndAccrualsAbstract" xlink:label="us-gaap_PayablesAndAccrualsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" xlink:label="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PayablesAndAccrualsAbstract" xlink:to="us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCredit" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAbstract" xlink:label="us-gaap_LongTermDebtAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock" xlink:label="us-gaap_LongTermDebtTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtAbstract" xlink:to="us-gaap_LongTermDebtTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeases" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStock" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockTextBlock" xlink:label="us-gaap_TreasuryStockTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_TreasuryStockTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureIncomeTaxes" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquity1" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDisclosuresAbstract" xlink:label="us-gaap_ClassOfStockDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="us-gaap_StockholdersEquityNoteDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDisclosuresAbstract" xlink:to="us-gaap_StockholdersEquityNoteDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensation" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingencies" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="us-gaap_CommitmentsAndContingenciesDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrations" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock" xlink:label="us-gaap_ConcentrationRiskDisclosureTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_ConcentrationRiskDisclosureTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenue" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEvents" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="us-gaap_SubsequentEventsTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_DescriptionOfBusinessPolicyTextBlock" xlink:label="airg_DescriptionOfBusinessPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" xlink:label="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingPolicyPolicyTextBlock" xlink:label="us-gaap_SegmentReportingPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates" xlink:label="us-gaap_UseOfEstimates"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PriorPeriodReclassificationAdjustmentDescription" xlink:label="us-gaap_PriorPeriodReclassificationAdjustmentDescription"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CashEquivalentsAndShortTermInvestmentsPolicyPolicyTextBlock" xlink:label="airg_CashEquivalentsAndShortTermInvestmentsPolicyPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_RestrictedCashPolicyTextBlock" xlink:label="airg_RestrictedCashPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeAndOtherAccountsReceivablePolicy" xlink:label="us-gaap_TradeAndOtherAccountsReceivablePolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock" xlink:label="us-gaap_InventoryPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" xlink:label="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsFiniteLivedPolicy" xlink:label="us-gaap_IntangibleAssetsFiniteLivedPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationsPolicy" xlink:label="us-gaap_BusinessCombinationsPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="us-gaap_RevenueRecognitionPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock" xlink:label="airg_RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpensePolicy" xlink:label="us-gaap_ResearchAndDevelopmentExpensePolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdvertisingCostsPolicyTextBlock" xlink:label="us-gaap_AdvertisingCostsPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock" xlink:label="us-gaap_IncomeTaxPolicyTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" xlink:label="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueOfFinancialInstrumentsPolicy" xlink:label="us-gaap_FairValueOfFinancialInstrumentsPolicy"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="airg_DescriptionOfBusinessPolicyTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_SegmentReportingPolicyPolicyTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_UseOfEstimates" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PriorPeriodReclassificationAdjustmentDescription" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="airg_CashEquivalentsAndShortTermInvestmentsPolicyPolicyTextBlock" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="airg_RestrictedCashPolicyTextBlock" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_TradeAndOtherAccountsReceivablePolicy" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_InventoryPolicyTextBlock" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentPolicyTextBlock" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IntangibleAssetsFiniteLivedPolicy" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_BusinessCombinationsPolicy" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_RevenueRecognitionPolicyTextBlock" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="airg_RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ResearchAndDevelopmentExpensePolicy" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_AdvertisingCostsPolicyTextBlock" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_IncomeTaxPolicyTextBlock" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_FairValueOfFinancialInstrumentsPolicy" order="20" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" order="21" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinationsTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SummaryOfFairValueOfPurchaseConsiderationTableTextBlock" xlink:label="airg_SummaryOfFairValueOfPurchaseConsiderationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationsAbstract" xlink:label="us-gaap_BusinessCombinationsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_NimbelinkMember" xlink:label="airg_NimbelinkMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock" xlink:label="us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="airg_SummaryOfFairValueOfPurchaseConsiderationTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessCombinationsAbstract" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="airg_NimbelinkMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="us-gaap_CashAndCashEquivalentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" xlink:label="us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CashAndCashEquivalentsAbstract" xlink:to="us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="us-gaap_InventoryDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock" xlink:label="airg_ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryDisclosureAbstract" xlink:to="airg_ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock" xlink:label="us-gaap_PropertyPlantAndEquipmentTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_PropertyPlantAndEquipmentTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" xlink:label="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock" xlink:label="airg_ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="airg_ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockDisclosuresAbstract" xlink:label="us-gaap_ClassOfStockDisclosuresAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock" xlink:label="airg_ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ScheduleOfTheCompanysAtmSalesActivityTabletextblock" xlink:label="airg_ScheduleOfTheCompanysAtmSalesActivityTabletextblock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDisclosuresAbstract" xlink:to="airg_ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockDisclosuresAbstract" xlink:to="airg_ScheduleOfTheCompanysAtmSalesActivityTabletextblock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ScheduleOfPerformanceStockUnitTableTextBlock" xlink:label="airg_ScheduleOfPerformanceStockUnitTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" xlink:label="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="airg_ScheduleOfPerformanceStockUnitTableTextBlock" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureCommitmentsAndContingenciesTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock" xlink:label="airg_ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="airg_ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" xlink:label="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" xlink:label="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueTables" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDescriptionOfBusinessAndBasisOfPresentationAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NumberOfOperatingSegments" xlink:label="us-gaap_NumberOfOperatingSegments"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_NumberOfOperatingSegments" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SignificantAccountingPoliciesTable" xlink:label="airg_SignificantAccountingPoliciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SignificantAccountingPoliciesLineItems" xlink:label="airg_SignificantAccountingPoliciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="us-gaap_AccountingPoliciesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WarrantyReservesMember" xlink:label="us-gaap_WarrantyReservesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_DeferredRevenueRecognitionPeriod" xlink:label="airg_DeferredRevenueRecognitionPeriod"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_RevenueRecognitionPaymentTerms" xlink:label="airg_RevenueRecognitionPaymentTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="us-gaap_ContractWithCustomerAssetNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_SignificantAccountingPoliciesTable" xlink:to="srt_RangeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_SignificantAccountingPoliciesLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccountingPoliciesAbstract" xlink:to="airg_SignificantAccountingPoliciesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_WarrantyReservesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_SignificantAccountingPoliciesTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_SignificantAccountingPoliciesLineItems" xlink:to="airg_DeferredRevenueRecognitionPeriod" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_SignificantAccountingPoliciesTable" xlink:to="airg_SignificantAccountingPoliciesLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_SignificantAccountingPoliciesLineItems" xlink:to="airg_RevenueRecognitionPaymentTerms" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_SignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ContractWithCustomerAssetNet" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_SignificantAccountingPoliciesLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfComputationOfNetLossPerShareDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic" xlink:label="us-gaap_EarningsPerShareBasic"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="us-gaap_EarningsPerShareDiluted"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_NetIncomeLoss" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareBasic" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareDiluted" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_StockOptionsAndRestrictedStockMember" xlink:label="airg_StockOptionsAndRestrictedStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="us-gaap_EarningsPerShareAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockExpense" xlink:label="us-gaap_RestrictedStockExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WarrantMember" xlink:label="us-gaap_WarrantMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_EmployeeStockPurchasePlanSharesMember" xlink:label="airg_EmployeeStockPurchasePlanSharesMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="airg_StockOptionsAndRestrictedStockMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EarningsPerShareAbstract" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_RestrictedStockExpense" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_WarrantMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="airg_EmployeeStockPurchasePlanSharesMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CashAndCashEquivalentsAndShortTermInvestmentsTable" xlink:label="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:label="us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems" xlink:label="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepurchaseAgreementsMember" xlink:label="us-gaap_RepurchaseAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="us-gaap_USTreasurySecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember" xlink:label="us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CorporateDebtSecuritiesMember" xlink:label="us-gaap_CorporateDebtSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="us-gaap_AssetBackedSecuritiesMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable" xlink:to="us-gaap_InvestmentTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:to="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeCategorizationMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_MoneyMarketFundsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel1Member" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems" xlink:to="us-gaap_Cash" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_RepurchaseAgreementsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel2Member" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems" xlink:to="us-gaap_CashEquivalentsAtCarryingValue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable" xlink:to="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_USTreasurySecuritiesMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems" xlink:to="airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_CorporateDebtSecuritiesMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_AssetBackedSecuritiesMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:label="us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashEquivalents" xlink:label="us-gaap_RestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedCashAndCashEquivalents" xlink:label="us-gaap_RestrictedCashAndCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsNoncurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsNoncurrent"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:to="us-gaap_RestrictedCashEquivalents" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:to="us-gaap_RestrictedCashAndCashEquivalents" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsNoncurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryTable" xlink:label="us-gaap_PublicUtilitiesInventoryTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryAxis" xlink:label="us-gaap_PublicUtilitiesInventoryAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNetAbstract" xlink:label="us-gaap_InventoryNetAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLineItems" xlink:label="us-gaap_InventoryLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:label="us-gaap_PublicUtilitiesInventoryTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoriesMember" xlink:label="us-gaap_InventoriesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ConsignedInventoriesMember" xlink:label="airg_ConsignedInventoriesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PublicUtilitiesInventoryTable" xlink:to="us-gaap_PublicUtilitiesInventoryAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetAbstract" xlink:to="us-gaap_PublicUtilitiesInventoryTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryRawMaterialsAndSupplies" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PublicUtilitiesInventoryAxis" xlink:to="us-gaap_PublicUtilitiesInventoryTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:to="us-gaap_InventoriesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PublicUtilitiesInventoryTable" xlink:to="us-gaap_InventoryLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryFinishedGoods" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:to="airg_ConsignedInventoriesMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryNet" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryCurrentTable" xlink:label="us-gaap_InventoryCurrentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryAxis" xlink:label="us-gaap_PublicUtilitiesInventoryAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNetAbstract" xlink:label="us-gaap_InventoryNetAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLineItems" xlink:label="us-gaap_InventoryLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment" xlink:label="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:label="us-gaap_PublicUtilitiesInventoryTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryRawMaterialsMember" xlink:label="us-gaap_PublicUtilitiesInventoryRawMaterialsMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ProvisionForExcessAndObsoleteInventories" xlink:label="airg_ProvisionForExcessAndObsoleteInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventorySuppliesMember" xlink:label="us-gaap_PublicUtilitiesInventorySuppliesMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_FinishedGoodsMember" xlink:label="airg_FinishedGoodsMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryCurrentTable" xlink:to="us-gaap_PublicUtilitiesInventoryAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryNetAbstract" xlink:to="us-gaap_InventoryCurrentTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PublicUtilitiesInventoryAxis" xlink:to="us-gaap_PublicUtilitiesInventoryTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:to="us-gaap_PublicUtilitiesInventoryRawMaterialsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryCurrentTable" xlink:to="us-gaap_InventoryLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_InventoryLineItems" xlink:to="airg_ProvisionForExcessAndObsoleteInventories" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:to="us-gaap_PublicUtilitiesInventorySuppliesMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:to="airg_FinishedGoodsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentOtherTypesMember" xlink:label="us-gaap_PropertyPlantAndEquipmentOtherTypesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentOtherTypesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_Depreciation" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="srt_RangeAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentAbstract" xlink:label="us-gaap_PropertyPlantAndEquipmentAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ComputersAndSoftwareMember" xlink:label="airg_ComputersAndSoftwareMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentAbstract" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="airg_ComputersAndSoftwareMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ConstructionInProgressMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketingRelatedIntangibleAssetsMember" xlink:label="us-gaap_MarketingRelatedIntangibleAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CovenantsToNonCompeteMember" xlink:label="airg_CovenantsToNonCompeteMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_MarketingRelatedIntangibleAssetsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable" xlink:to="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="airg_CovenantsToNonCompeteMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillScheduleOfEstimatedAnnualAmortizationOfIntangibleAssetsDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" xlink:label="airg_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="airg_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairmentLoss" xlink:label="us-gaap_GoodwillImpairmentLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" xlink:label="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_AmortizationOfIntangibleAssets" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_GoodwillImpairmentLoss" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract" xlink:to="us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherSummaryOfAccruedLiabilitiesAndOtherDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccruedLiabilitiesCurrent" xlink:label="us-gaap_OtherAccruedLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesAndExciseTaxPayableCurrent" xlink:label="us-gaap_SalesAndExciseTaxPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="us-gaap_AccruedIncomeTaxesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AdvancedPaymentsFromContractManufacturers" xlink:label="airg_AdvancedPaymentsFromContractManufacturers"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ContractLiabilitiesCurrent" xlink:label="airg_ContractLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_GoodsReceivedNotInvoiced" xlink:label="airg_GoodsReceivedNotInvoiced"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilities" xlink:label="us-gaap_OtherLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesAndOtherLiabilities" xlink:label="us-gaap_AccruedLiabilitiesAndOtherLiabilities"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="us-gaap_OtherAccruedLiabilitiesCurrent" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="us-gaap_SalesAndExciseTaxPayableCurrent" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="us-gaap_AccruedIncomeTaxesCurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="airg_AdvancedPaymentsFromContractManufacturers" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="airg_ContractLiabilitiesCurrent" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="airg_GoodsReceivedNotInvoiced" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="us-gaap_OtherLiabilities" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract" xlink:to="us-gaap_AccruedLiabilitiesAndOtherLiabilities" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_NimbelinkMember" xlink:label="airg_NimbelinkMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DomesticLineOfCreditMember" xlink:label="us-gaap_DomesticLineOfCreditMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAbstract" xlink:label="us-gaap_LongTermDebtAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LineOfCreditFacilityAggregateEligibleAccountsPercentage" xlink:label="airg_LineOfCreditFacilityAggregateEligibleAccountsPercentage"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LineOfCreditFacilityNetAllowancePercentage" xlink:label="airg_LineOfCreditFacilityNetAllowancePercentage"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage" xlink:label="airg_LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage" xlink:label="airg_LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInterimRateIncreaseDecreasePercentage" xlink:label="us-gaap_PublicUtilitiesInterimRateIncreaseDecreasePercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityFrequencyOfPayments" xlink:label="us-gaap_LineOfCreditFacilityFrequencyOfPayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityInterestRateDescription" xlink:label="us-gaap_LineOfCreditFacilityInterestRateDescription"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCovenantTerms" xlink:label="us-gaap_LineOfCreditFacilityCovenantTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCommitmentFeeAmount" xlink:label="us-gaap_LineOfCreditFacilityCommitmentFeeAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCovenantCompliance" xlink:label="us-gaap_LineOfCreditFacilityCovenantCompliance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables" xlink:label="airg_LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LiquidityRatio" xlink:label="airg_LiquidityRatio"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_PrimeRateMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="us-gaap_LineOfCreditMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="airg_NimbelinkMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="us-gaap_DomesticLineOfCreditMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LongTermDebtAbstract" xlink:to="us-gaap_LineOfCreditFacilityTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="airg_LineOfCreditFacilityAggregateEligibleAccountsPercentage" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_VariableRateAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="airg_LineOfCreditFacilityNetAllowancePercentage" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_ShortTermDebtTypeAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="airg_LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="airg_LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_CreditFacilityAxis" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCredit" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityLineItems" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_PublicUtilitiesInterimRateIncreaseDecreasePercentage" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityFrequencyOfPayments" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityInterestRateDescription" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityCovenantTerms" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityCommitmentFeeAmount" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityCovenantCompliance" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityExpirationDate1" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="airg_LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="airg_LiquidityRatio" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseExpirationDate1" xlink:label="us-gaap_LeaseExpirationDate1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LessorOperatingLeaseTermOfContract" xlink:label="us-gaap_LessorOperatingLeaseTermOfContract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseOptionToExtend" xlink:label="us-gaap_LesseeOperatingLeaseOptionToExtend"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LeaseExpirationDate1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_StatementTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LessorOperatingLeaseTermOfContract" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseOptionToExtend" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseCost" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShortTermLeaseCost" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeasesAbstract" xlink:label="us-gaap_LeasesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_UnrealizedTranslationGain" xlink:label="airg_UnrealizedTranslationGain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="airg_UnrealizedTranslationGain" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiability" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/totalLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_LeasesAbstract" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="us-gaap_ClassOfTreasuryStockTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="us-gaap_EquityClassOfTreasuryStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramAuthorizedAmount1" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramAxis" xlink:label="srt_ShareRepurchaseProgramAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramDomain" xlink:label="srt_ShareRepurchaseProgramDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareRepurchaseProgramAugustTwoZeroOneSevenMember" xlink:label="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchaseProgramPeriodInForce1" xlink:label="us-gaap_StockRepurchaseProgramPeriodInForce1"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember" xlink:label="airg_ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_StockRepurchaseProgramAdditionalPeriodInForce1" xlink:label="airg_StockRepurchaseProgramAdditionalPeriodInForce1"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember" xlink:label="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramExpirationDate" xlink:label="srt_StockRepurchaseProgramExpirationDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="srt_StockRepurchaseProgramAuthorizedAmount1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_ClassOfTreasuryStockTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ShareRepurchaseProgramAxis" xlink:to="srt_ShareRepurchaseProgramDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ShareRepurchaseProgramDomain" xlink:to="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="srt_ShareRepurchaseProgramAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_StockRepurchaseProgramPeriodInForce1" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ShareRepurchaseProgramDomain" xlink:to="airg_ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="srt_RangeAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="airg_StockRepurchaseProgramAdditionalPeriodInForce1" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_ShareRepurchaseProgramDomain" xlink:to="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="us-gaap_EquityClassOfTreasuryStockLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="srt_StockRepurchaseProgramExpirationDate" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_TreasuryStockSharesAcquired" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_TreasuryStockCommonValue" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="us-gaap_IncomeTaxDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsLiabilitiesNet" xlink:label="us-gaap_DeferredTaxAssetsLiabilitiesNet"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeTaxDisclosureAbstract" xlink:to="us-gaap_DeferredTaxAssetsLiabilitiesNet" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AuthorizedForGrantsUnderTheInducementPlanMember" xlink:label="airg_AuthorizedForGrantsUnderTheInducementPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_NimbelinkMember" xlink:label="airg_NimbelinkMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_TwoThousandAndSixteenEquityIncentivePlanMember" xlink:label="airg_TwoThousandAndSixteenEquityIncentivePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SubsidiaryCommonStockPurchaseByCompany" xlink:label="airg_SubsidiaryCommonStockPurchaseByCompany"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AtmOfferingsMember" xlink:label="airg_AtmOfferingsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredOfferingCosts" xlink:label="us-gaap_DeferredOfferingCosts"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_AuthorizedForGrantsUnderTheInducementPlanMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_PlanNameAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_ScheduleOfStockByClassTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="airg_NimbelinkMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_TwoThousandAndSixteenEquityIncentivePlanMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="airg_SubsidiaryCommonStockPurchaseByCompany" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_AtmOfferingsMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_ClassOfStockLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockSharesIssued" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockValue" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_DeferredOfferingCosts" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_TwoThousandAndSixteenEquityIncentivePlanMember" xlink:label="airg_TwoThousandAndSixteenEquityIncentivePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_WarrantsIssuedAndOutstandingMember" xlink:label="airg_WarrantsIssuedAndOutstandingMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember" xlink:label="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_StockOptionAwardsIssuedAndOutstandingMember" xlink:label="airg_StockOptionAwardsIssuedAndOutstandingMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AuthorizedForGrantsUnderTheInducementPlanMember" xlink:label="airg_AuthorizedForGrantsUnderTheInducementPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_StockAwardsIssuedAndOutstandingMember" xlink:label="airg_StockAwardsIssuedAndOutstandingMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_StockOptionsIssuedAndOutstandingMember" xlink:label="airg_StockOptionsIssuedAndOutstandingMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_TwoThousandAndSixteenEquityIncentivePlanMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_PlanNameAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="airg_WarrantsIssuedAndOutstandingMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_ScheduleOfStockByClassTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_StatementEquityComponentsAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="airg_StockOptionAwardsIssuedAndOutstandingMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_AuthorizedForGrantsUnderTheInducementPlanMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_ClassOfStockLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="airg_StockAwardsIssuedAndOutstandingMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityComponentDomain" xlink:to="airg_StockOptionsIssuedAndOutstandingMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_TwoThousandAndSixteenEquityIncentivePlanMember" xlink:label="airg_TwoThousandAndSixteenEquityIncentivePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember" xlink:label="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AuthorizedForGrantsUnderTheInducementPlanMember" xlink:label="airg_AuthorizedForGrantsUnderTheInducementPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_TwoThousandAndSixteenEquityIncentivePlanMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_PlanNameAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_ScheduleOfStockByClassTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_TreasuryStockCommonShares" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_ClassOfStockLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_AuthorizedForGrantsUnderTheInducementPlanMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AtTheMarketOfferingMember" xlink:label="airg_AtTheMarketOfferingMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityAbstract" xlink:label="us-gaap_EquityAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockLineItems" xlink:label="us-gaap_SubsidiarySaleOfStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockConsiderationReceivedOnTransaction" xlink:label="us-gaap_SaleOfStockConsiderationReceivedOnTransaction"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:label="us-gaap_ProceedsFromIssuanceOrSaleOfEquity"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="airg_AtTheMarketOfferingMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_EquityAbstract" xlink:to="us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" xlink:to="us-gaap_SubsidiarySaleOfStockLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockLineItems" xlink:to="us-gaap_SaleOfStockConsiderationReceivedOnTransaction" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOrSaleOfEquity" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_IncomeStatementLocationAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingAndMarketingExpenseMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationExpenseParentheticalDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CompensationRelatedCostsAbstract" xlink:label="us-gaap_CompensationRelatedCostsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeBenefitsAndShareBasedCompensation" xlink:label="us-gaap_EmployeeBenefitsAndShareBasedCompensation"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CompensationRelatedCostsAbstract" xlink:to="us-gaap_EmployeeBenefitsAndShareBasedCompensation" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_4"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_11"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm1" xlink:label="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm1" xlink:label="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding_20"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancelledWeightedAverageRemainingContractualTerm1" xlink:label="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancelledWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_11" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" order="14" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm1" order="15" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" order="16" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" order="17" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding" order="18" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm1" order="19" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding_20" order="20" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancelledWeightedAverageRemainingContractualTerm1" order="21" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" order="22" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1" order="23" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" order="24" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockMember" xlink:label="us-gaap_EmployeeStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_DescriptionOfPerformanceStockUnit" xlink:label="airg_DescriptionOfPerformanceStockUnit"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_PerformanceStockUnitMember" xlink:label="airg_PerformanceStockUnitMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareSettledObligationMember" xlink:label="airg_ShareSettledObligationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_DebtConversionConvertatedAmount" xlink:label="airg_DebtConversionConvertatedAmount"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareGrantedUponSettlementOfDebt" xlink:label="airg_ShareGrantedUponSettlementOfDebt"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_EmployeeStockMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_RangeAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" order="3.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" order="4.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="airg_DescriptionOfPerformanceStockUnit" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="airg_PerformanceStockUnitMember" order="5.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="airg_ShareSettledObligationMember" order="6.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" order="10" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" order="11" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="airg_DebtConversionConvertatedAmount" order="12" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="airg_ShareGrantedUponSettlementOfDebt" order="13" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_4"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_PerformanceStockUnitMember" xlink:label="airg_PerformanceStockUnitMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_9"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" order="3.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_4" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="airg_PerformanceStockUnitMember" order="4.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" order="6" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" order="7" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" order="8" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_9" order="9" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareSettledObligationMember" xlink:label="airg_ShareSettledObligationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" order="2.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="airg_ShareSettledObligationMember" order="3.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" order="4.0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SupplyAgreementMember" xlink:label="airg_SupplyAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherCommitmentsAxis" xlink:label="us-gaap_OtherCommitmentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherCommitmentsDomain" xlink:label="us-gaap_OtherCommitmentsDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SeveranceCostsMember" xlink:label="airg_SeveranceCostsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommitmentAndContingenciesLineItems" xlink:label="airg_CommitmentAndContingenciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_PurchaseOfInventory" xlink:label="airg_PurchaseOfInventory"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommitmentAndContingenciesTable" xlink:label="airg_CommitmentAndContingenciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_PaymentsForInventory" xlink:label="airg_PaymentsForInventory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SeveranceCosts1" xlink:label="us-gaap_SeveranceCosts1"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LeaseTerminationDate" xlink:label="airg_LeaseTerminationDate"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_WarrantyExpenseReserved" xlink:label="airg_WarrantyExpenseReserved"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AccrualWarrantyExpense" xlink:label="airg_AccrualWarrantyExpense"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="airg_SupplyAgreementMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherCommitmentsAxis" xlink:to="us-gaap_OtherCommitmentsDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_OtherCommitmentsDomain" xlink:to="airg_SeveranceCostsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CommitmentAndContingenciesLineItems" xlink:to="airg_PurchaseOfInventory" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CommitmentAndContingenciesTable" xlink:to="us-gaap_TypeOfArrangementAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="airg_CommitmentAndContingenciesTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CommitmentAndContingenciesLineItems" xlink:to="airg_PaymentsForInventory" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CommitmentAndContingenciesTable" xlink:to="us-gaap_OtherCommitmentsAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CommitmentAndContingenciesLineItems" xlink:to="us-gaap_SeveranceCosts1" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CommitmentAndContingenciesTable" xlink:to="srt_RangeAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CommitmentAndContingenciesLineItems" xlink:to="airg_LeaseTerminationDate" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CommitmentAndContingenciesTable" xlink:to="airg_CommitmentAndContingenciesLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CommitmentAndContingenciesLineItems" xlink:to="airg_WarrantyExpenseReserved" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="airg_CommitmentAndContingenciesLineItems" xlink:to="airg_AccrualWarrantyExpense" order="5" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureCommitmentsAndContingenciesScheduleOfLiabilityRecordedRelatedToSeveranceAndExitCostsDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:label="us-gaap_CommitmentsAndContingenciesDisclosureAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SeveranceAndExitCosts1" xlink:label="airg_SeveranceAndExitCosts1"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AccruedExpenseOfSeverancCosts" xlink:label="airg_AccruedExpenseOfSeverancCosts"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_PaymentOfSeveranceCosts" xlink:label="airg_PaymentOfSeveranceCosts"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SeveranceAndExitCosts1" xlink:label="airg_SeveranceAndExitCosts1_3"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="airg_SeveranceAndExitCosts1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="airg_AccruedExpenseOfSeverancCosts" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="airg_PaymentOfSeveranceCosts" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_CommitmentsAndContingenciesDisclosureAbstract" xlink:to="airg_SeveranceAndExitCosts1_3" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_MajorCustomersMember" xlink:label="airg_MajorCustomersMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CN" xlink:label="country_CN"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_NumberOfVendors" xlink:label="airg_NumberOfVendors"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_MM" xlink:label="country_MM"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_VN" xlink:label="country_VN"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd#stpr_MN" xlink:label="stpr_MN"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_MajorCustomersMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_CN" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_ConcentrationRiskTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="srt_MajorCustomersAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="airg_NumberOfVendors" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_MM" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_VN" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="srt_StatementGeographicalAxis" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="stpr_MN" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskLineItems" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CustomerAMember" xlink:label="airg_CustomerAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CustomerBMember" xlink:label="airg_CustomerBMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CustomerCMember" xlink:label="airg_CustomerCMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CustomerDMember" xlink:label="airg_CustomerDMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CustomerEMember" xlink:label="airg_CustomerEMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_CustomerAMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_ConcentrationRiskTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_CustomerBMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="srt_MajorCustomersAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_CustomerCMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_CustomerDMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_CustomerEMember" order="4" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RisksAndUncertaintiesAbstract" xlink:label="us-gaap_RisksAndUncertaintiesAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_AsiaPacificMember" xlink:label="srt_AsiaPacificMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EMEAMember" xlink:label="us-gaap_EMEAMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="srt_StatementGeographicalAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_NoncurrentAssets" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_RisksAndUncertaintiesAbstract" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_AsiaPacificMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="us-gaap_EMEAMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDisaggregatedRevenueSummaryOfDisaggregatedRevenueBySalesChannelDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerSalesChannelDomain" xlink:label="us-gaap_ContractWithCustomerSalesChannelDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SalesChannelFulfillmentDistributorsMember" xlink:label="airg_SalesChannelFulfillmentDistributorsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerSalesChannelAxis" xlink:label="us-gaap_ContractWithCustomerSalesChannelAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="us-gaap_DisaggregationOfRevenueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SalesChannelDistributorsAndResellersMember" xlink:label="airg_SalesChannelDistributorsAndResellersMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SalesChannelOtherMember" xlink:label="airg_SalesChannelOtherMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SalesChannelOEMODMContractManufacturerMember" xlink:label="airg_SalesChannelOEMODMContractManufacturerMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerSalesChannelDomain" xlink:to="airg_SalesChannelFulfillmentDistributorsMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerSalesChannelAxis" xlink:to="us-gaap_ContractWithCustomerSalesChannelDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_ContractWithCustomerSalesChannelAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerSalesChannelDomain" xlink:to="airg_SalesChannelDistributorsAndResellersMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerSalesChannelDomain" xlink:to="airg_SalesChannelOtherMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_ContractWithCustomerSalesChannelDomain" xlink:to="airg_SalesChannelOEMODMContractManufacturerMember" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_EnterpriseMember" xlink:label="airg_EnterpriseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="us-gaap_DisaggregationOfRevenueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ConsumerMember" xlink:label="airg_ConsumerMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ChinaIncludingHongKongAndTaiwanMember" xlink:label="airg_ChinaIncludingHongKongAndTaiwanMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AutomotiveMember" xlink:label="airg_AutomotiveMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_OtherCountriesMember" xlink:label="airg_OtherCountriesMember"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TransferredAtPointInTimeMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_EnterpriseMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_MajorCustomersAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TransferredOverTimeMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_ConsumerMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="airg_ChinaIncludingHongKongAndTaiwanMember" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_AutomotiveMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_StatementGeographicalAxis" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="airg_OtherCountriesMember" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="us-gaap_DisaggregationOfRevenueAbstract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_NimbelinkMember" xlink:label="airg_NimbelinkMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerRightToRecoverProduct" xlink:label="us-gaap_ContractWithCustomerRightToRecoverProduct"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_StatementGeographicalAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueAbstract" xlink:to="us-gaap_DisaggregationOfRevenueTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="airg_NimbelinkMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_BusinessAcquisitionAxis" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerRightToRecoverProduct" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" order="2" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" order="3" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
        </link:presentationLink>
        <link:presentationLink xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails" xlink:title="presentationLink" xlink:type="extended">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_EmployeeRetentionCreditRefunds" xlink:label="airg_EmployeeRetentionCreditRefunds"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="us-gaap_SubsequentEventsAbstract"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="airg_EmployeeRetentionCreditRefunds" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/terseLabel"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTypeAxis" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventTable" order="0" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
          <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventLineItems" order="1" priority="2" use="optional" preferredLabel="http://www.xbrl.org/2003/role/label"/>
        </link:presentationLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding" xlink:label="us-gaap_SharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockAndAdditionalPaidInCapitalMember" xlink:label="airg_CommonStockAndAdditionalPaidInCapitalMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="us-gaap_TreasuryStockCommonMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember" xlink:label="us-gaap_RetainedEarningsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockIssuedThroughStockOptionsShare" xlink:label="airg_CommonStockIssuedThroughStockOptionsShare"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockIssuedThroughStockOptions" xlink:label="airg_CommonStockIssuedThroughStockOptions"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare" xlink:label="airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards" xlink:label="airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare" xlink:label="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue" xlink:label="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_SharesOutstanding" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="airg_CommonStockAndAdditionalPaidInCapitalMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="us-gaap_StatementEquityComponentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockholdersEquity" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_TreasuryStockCommonMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_NetIncomeLoss" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_RetainedEarningsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="airg_CommonStockIssuedThroughStockOptionsShare" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="airg_CommonStockIssuedThroughStockOptions" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinationsTables">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionLineItems" xlink:label="us-gaap_BusinessAcquisitionLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:label="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SummaryOfFairValueOfPurchaseConsiderationTableTextBlock" xlink:label="airg_SummaryOfFairValueOfPurchaseConsiderationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_NimbelinkMember" xlink:label="airg_NimbelinkMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" xlink:label="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock" xlink:label="us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionProFormaInformationTextBlock" xlink:label="us-gaap_BusinessAcquisitionProFormaInformationTextBlock"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="airg_SummaryOfFairValueOfPurchaseConsiderationTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="airg_NimbelinkMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionLineItems" xlink:to="us-gaap_BusinessAcquisitionProFormaInformationTextBlock" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails">
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SignificantAccountingPoliciesLineItems" xlink:label="airg_SignificantAccountingPoliciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SignificantAccountingPoliciesTable" xlink:label="airg_SignificantAccountingPoliciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:label="us-gaap_ValuationAllowancesAndReservesTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ValuationAllowancesAndReservesDomain" xlink:label="us-gaap_ValuationAllowancesAndReservesDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WarrantyReservesMember" xlink:label="us-gaap_WarrantyReservesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_DeferredRevenueRecognitionPeriod" xlink:label="airg_DeferredRevenueRecognitionPeriod"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_RevenueRecognitionPaymentTerms" xlink:label="airg_RevenueRecognitionPaymentTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerAssetNet" xlink:label="us-gaap_ContractWithCustomerAssetNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="us-gaap_CostOfGoodsAndServicesSold"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="airg_SignificantAccountingPoliciesLineItems" xlink:to="airg_SignificantAccountingPoliciesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="airg_SignificantAccountingPoliciesTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ValuationAllowancesAndReservesTypeAxis" xlink:to="us-gaap_ValuationAllowancesAndReservesDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="airg_SignificantAccountingPoliciesLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ValuationAllowancesAndReservesDomain" xlink:to="us-gaap_WarrantyReservesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="airg_SignificantAccountingPoliciesTable" xlink:to="us-gaap_ValuationAllowancesAndReservesTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="airg_SignificantAccountingPoliciesLineItems" xlink:to="airg_DeferredRevenueRecognitionPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="airg_SignificantAccountingPoliciesLineItems" xlink:to="airg_RevenueRecognitionPaymentTerms" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="airg_SignificantAccountingPoliciesLineItems" xlink:to="us-gaap_ContractWithCustomerAssetNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="airg_SignificantAccountingPoliciesLineItems" xlink:to="us-gaap_CostOfGoodsAndServicesSold" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_StockOptionsAndRestrictedStockMember" xlink:label="airg_StockOptionsAndRestrictedStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockExpense" xlink:label="us-gaap_RestrictedStockExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WarrantMember" xlink:label="us-gaap_WarrantMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_EmployeeStockPurchasePlanSharesMember" xlink:label="airg_EmployeeStockPurchasePlanSharesMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="airg_StockOptionsAndRestrictedStockMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_RestrictedStockExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_WarrantMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:to="airg_EmployeeStockPurchasePlanSharesMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails">
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems" xlink:label="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CashAndCashEquivalentsAndShortTermInvestmentsTable" xlink:label="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="us-gaap_FairValueByFairValueHierarchyLevelAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeAxis" xlink:label="us-gaap_InvestmentTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="us-gaap_InvestmentTypeCategorizationMember_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MoneyMarketFundsMember" xlink:label="us-gaap_MoneyMarketFundsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="us-gaap_FairValueInputsLevel1Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Cash" xlink:label="us-gaap_Cash"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RepurchaseAgreementsMember" xlink:label="us-gaap_RepurchaseAgreementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="us-gaap_FairValueInputsLevel2Member"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="us-gaap_USTreasurySecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember" xlink:label="us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CorporateDebtSecuritiesMember" xlink:label="us-gaap_CorporateDebtSecuritiesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="us-gaap_AssetBackedSecuritiesMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems" xlink:to="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:to="us-gaap_FairValueMeasurementsFairValueHierarchyDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable" xlink:to="us-gaap_InvestmentTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeCategorizationMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_InvestmentTypeAxis" xlink:to="us-gaap_InvestmentTypeCategorizationMember_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_MoneyMarketFundsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel1Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems" xlink:to="us-gaap_Cash" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable" xlink:to="us-gaap_FairValueByFairValueHierarchyLevelAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_RepurchaseAgreementsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:to="us-gaap_FairValueInputsLevel2Member" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems" xlink:to="us-gaap_CashEquivalentsAtCarryingValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_USTreasurySecuritiesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems" xlink:to="airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_CorporateDebtSecuritiesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InvestmentTypeCategorizationMember" xlink:to="us-gaap_AssetBackedSecuritiesMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLineItems" xlink:label="us-gaap_InventoryLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryTable" xlink:label="us-gaap_PublicUtilitiesInventoryTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryAxis" xlink:label="us-gaap_PublicUtilitiesInventoryAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:label="us-gaap_PublicUtilitiesInventoryTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:label="us-gaap_PublicUtilitiesInventoryTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoriesMember" xlink:label="us-gaap_InventoriesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ConsignedInventoriesMember" xlink:label="airg_ConsignedInventoriesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_PublicUtilitiesInventoryTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_PublicUtilitiesInventoryTable" xlink:to="us-gaap_PublicUtilitiesInventoryAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryRawMaterialsAndSupplies" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PublicUtilitiesInventoryAxis" xlink:to="us-gaap_PublicUtilitiesInventoryTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PublicUtilitiesInventoryAxis" xlink:to="us-gaap_PublicUtilitiesInventoryTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:to="us-gaap_InventoriesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryFinishedGoods" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:to="airg_ConsignedInventoriesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryNet" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryAdditionalInformationDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryLineItems" xlink:label="us-gaap_InventoryLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryCurrentTable" xlink:label="us-gaap_InventoryCurrentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryAxis" xlink:label="us-gaap_PublicUtilitiesInventoryAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment" xlink:label="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:label="us-gaap_PublicUtilitiesInventoryTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventoryRawMaterialsMember" xlink:label="us-gaap_PublicUtilitiesInventoryRawMaterialsMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ProvisionForExcessAndObsoleteInventories" xlink:label="airg_ProvisionForExcessAndObsoleteInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInventorySuppliesMember" xlink:label="us-gaap_PublicUtilitiesInventorySuppliesMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_FinishedGoodsMember" xlink:label="airg_FinishedGoodsMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_InventoryCurrentTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_InventoryCurrentTable" xlink:to="us-gaap_PublicUtilitiesInventoryAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryLineItems" xlink:to="us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PublicUtilitiesInventoryAxis" xlink:to="us-gaap_PublicUtilitiesInventoryTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:to="us-gaap_PublicUtilitiesInventoryRawMaterialsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_InventoryLineItems" xlink:to="airg_ProvisionForExcessAndObsoleteInventories" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:to="us-gaap_PublicUtilitiesInventorySuppliesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PublicUtilitiesInventoryTypeDomain" xlink:to="airg_FinishedGoodsMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife" xlink:label="us-gaap_PropertyPlantAndEquipmentUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentOtherTypesMember" xlink:label="us-gaap_PropertyPlantAndEquipmentOtherTypesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentUsefulLife" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_PropertyPlantAndEquipmentOtherTypesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_Depreciation" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentLineItems" xlink:label="us-gaap_PropertyPlantAndEquipmentLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:label="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:label="us-gaap_PropertyPlantAndEquipmentByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:label="us-gaap_PropertyPlantAndEquipmentTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentMember" xlink:label="us-gaap_MachineryAndEquipmentMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseholdImprovementsMember" xlink:label="us-gaap_LeaseholdImprovementsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ComputersAndSoftwareMember" xlink:label="airg_ComputersAndSoftwareMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FurnitureAndFixturesMember" xlink:label="us-gaap_FurnitureAndFixturesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VehiclesMember" xlink:label="us-gaap_VehiclesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressMember" xlink:label="us-gaap_ConstructionInProgressMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PropertyPlantAndEquipmentByTypeAxis" xlink:to="us-gaap_PropertyPlantAndEquipmentTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfPropertyPlantAndEquipmentTable" xlink:to="us-gaap_PropertyPlantAndEquipmentByTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_MachineryAndEquipmentMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_LeaseholdImprovementsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentLineItems" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="airg_ComputersAndSoftwareMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_FurnitureAndFixturesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_VehiclesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PropertyPlantAndEquipmentTypeDomain" xlink:to="us-gaap_ConstructionInProgressMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:label="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable" xlink:label="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife" xlink:label="us-gaap_FiniteLivedIntangibleAssetUsefulLife"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MarketingRelatedIntangibleAssetsMember" xlink:label="us-gaap_MarketingRelatedIntangibleAssetsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="us-gaap_FiniteLivedIntangibleAssetsGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerRelationshipsMember" xlink:label="us-gaap_CustomerRelationshipsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="us-gaap_DevelopedTechnologyRightsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InProcessResearchAndDevelopmentMember" xlink:label="us-gaap_InProcessResearchAndDevelopmentMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CovenantsToNonCompeteMember" xlink:label="airg_CovenantsToNonCompeteMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TradeNamesMember" xlink:label="us-gaap_TradeNamesMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:to="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetUsefulLife" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_MarketingRelatedIntangibleAssetsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable" xlink:to="us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_CustomerRelationshipsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_DevelopedTechnologyRightsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems" xlink:to="us-gaap_FiniteLivedIntangibleAssetsNet" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_InProcessResearchAndDevelopmentMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="airg_CovenantsToNonCompeteMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:to="us-gaap_TradeNamesMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLineItems" xlink:label="us-gaap_LineOfCreditFacilityLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityTable" xlink:label="us-gaap_LineOfCreditFacilityTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityAxis" xlink:label="us-gaap_LineOfCreditFacilityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityLenderDomain" xlink:label="us-gaap_LineOfCreditFacilityLenderDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrimeRateMember" xlink:label="us-gaap_PrimeRateMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeAxis" xlink:label="us-gaap_ShortTermDebtTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermDebtTypeDomain" xlink:label="us-gaap_ShortTermDebtTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevolvingCreditFacilityMember" xlink:label="us-gaap_RevolvingCreditFacilityMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditMember" xlink:label="us-gaap_LineOfCreditMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateAxis" xlink:label="us-gaap_VariableRateAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_VariableRateDomain" xlink:label="us-gaap_VariableRateDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_NimbelinkMember" xlink:label="airg_NimbelinkMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DomesticLineOfCreditMember" xlink:label="us-gaap_DomesticLineOfCreditMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityAxis" xlink:label="us-gaap_CreditFacilityAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CreditFacilityDomain" xlink:label="us-gaap_CreditFacilityDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LineOfCreditFacilityAggregateEligibleAccountsPercentage" xlink:label="airg_LineOfCreditFacilityAggregateEligibleAccountsPercentage"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LineOfCreditFacilityNetAllowancePercentage" xlink:label="airg_LineOfCreditFacilityNetAllowancePercentage"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage" xlink:label="airg_LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage" xlink:label="airg_LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCredit" xlink:label="us-gaap_LineOfCredit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PublicUtilitiesInterimRateIncreaseDecreasePercentage" xlink:label="us-gaap_PublicUtilitiesInterimRateIncreaseDecreasePercentage"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityFrequencyOfPayments" xlink:label="us-gaap_LineOfCreditFacilityFrequencyOfPayments"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityInterestRateDescription" xlink:label="us-gaap_LineOfCreditFacilityInterestRateDescription"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCovenantTerms" xlink:label="us-gaap_LineOfCreditFacilityCovenantTerms"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCommitmentFeeAmount" xlink:label="us-gaap_LineOfCreditFacilityCommitmentFeeAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCovenantCompliance" xlink:label="us-gaap_LineOfCreditFacilityCovenantCompliance"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityExpirationDate1" xlink:label="us-gaap_LineOfCreditFacilityExpirationDate1"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables" xlink:label="airg_LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LiquidityRatio" xlink:label="airg_LiquidityRatio"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" xlink:label="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_LineOfCreditFacilityAxis" xlink:to="us-gaap_LineOfCreditFacilityLenderDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_VariableRateDomain" xlink:to="us-gaap_PrimeRateMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ShortTermDebtTypeAxis" xlink:to="us-gaap_ShortTermDebtTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_CreditFacilityDomain" xlink:to="us-gaap_RevolvingCreditFacilityMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShortTermDebtTypeDomain" xlink:to="us-gaap_LineOfCreditMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_VariableRateAxis" xlink:to="us-gaap_VariableRateDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="airg_NimbelinkMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_LineOfCreditFacilityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLenderDomain" xlink:to="us-gaap_DomesticLineOfCreditMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_CreditFacilityAxis" xlink:to="us-gaap_CreditFacilityDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="airg_LineOfCreditFacilityAggregateEligibleAccountsPercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_VariableRateAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="airg_LineOfCreditFacilityNetAllowancePercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_ShortTermDebtTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="airg_LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="airg_LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_LineOfCreditFacilityTable" xlink:to="us-gaap_CreditFacilityAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCredit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_PublicUtilitiesInterimRateIncreaseDecreasePercentage" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityFrequencyOfPayments" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityInterestRateDescription" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityCovenantTerms" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityCommitmentFeeAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityCovenantCompliance" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityExpirationDate1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="14" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="airg_LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="15" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="airg_LiquidityRatio" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="16" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_LineOfCreditFacilityLineItems" xlink:to="us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems" xlink:label="us-gaap_StatementLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable" xlink:label="us-gaap_StatementTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LeaseExpirationDate1" xlink:label="us-gaap_LeaseExpirationDate1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LessorOperatingLeaseTermOfContract" xlink:label="us-gaap_LessorOperatingLeaseTermOfContract"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseOptionToExtend" xlink:label="us-gaap_LesseeOperatingLeaseOptionToExtend"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseCost" xlink:label="us-gaap_OperatingLeaseCost"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShortTermLeaseCost" xlink:label="us-gaap_ShortTermLeaseCost"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_StatementTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LeaseExpirationDate1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_StatementTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LessorOperatingLeaseTermOfContract" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_LesseeOperatingLeaseOptionToExtend" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_OperatingLeaseCost" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_StatementLineItems" xlink:to="us-gaap_ShortTermLeaseCost" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="us-gaap_EquityClassOfTreasuryStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="us-gaap_ClassOfTreasuryStockTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramAuthorizedAmount1" xlink:label="srt_StockRepurchaseProgramAuthorizedAmount1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember" xlink:label="us-gaap_CommonStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramAxis" xlink:label="srt_ShareRepurchaseProgramAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramDomain" xlink:label="srt_ShareRepurchaseProgramDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ShareRepurchaseProgramDomain" xlink:label="srt_ShareRepurchaseProgramDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareRepurchaseProgramAugustTwoZeroOneSevenMember" xlink:label="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchaseProgramPeriodInForce1" xlink:label="us-gaap_StockRepurchaseProgramPeriodInForce1"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember" xlink:label="airg_ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_StockRepurchaseProgramAdditionalPeriodInForce1" xlink:label="airg_StockRepurchaseProgramAdditionalPeriodInForce1"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember" xlink:label="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StockRepurchaseProgramExpirationDate" xlink:label="srt_StockRepurchaseProgramExpirationDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockSharesAcquired" xlink:label="us-gaap_TreasuryStockSharesAcquired"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValueAcquiredCostMethod" xlink:label="us-gaap_TreasuryStockValueAcquiredCostMethod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonValue" xlink:label="us-gaap_TreasuryStockCommonValue"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_ClassOfTreasuryStockTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="us-gaap_StatementEquityComponentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="srt_StockRepurchaseProgramAuthorizedAmount1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="us-gaap_CommonStockMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_ShareRepurchaseProgramAxis" xlink:to="srt_ShareRepurchaseProgramDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_ShareRepurchaseProgramAxis" xlink:to="srt_ShareRepurchaseProgramDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ShareRepurchaseProgramDomain" xlink:to="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="srt_ShareRepurchaseProgramAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_StockRepurchaseProgramPeriodInForce1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ShareRepurchaseProgramDomain" xlink:to="airg_ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ClassOfTreasuryStockTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="airg_StockRepurchaseProgramAdditionalPeriodInForce1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_ShareRepurchaseProgramDomain" xlink:to="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="srt_StockRepurchaseProgramExpirationDate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_TreasuryStockSharesAcquired" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_TreasuryStockValueAcquiredCostMethod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityClassOfTreasuryStockLineItems" xlink:to="us-gaap_TreasuryStockCommonValue" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AuthorizedForGrantsUnderTheInducementPlanMember" xlink:label="airg_AuthorizedForGrantsUnderTheInducementPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_NimbelinkMember" xlink:label="airg_NimbelinkMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_TwoThousandAndSixteenEquityIncentivePlanMember" xlink:label="airg_TwoThousandAndSixteenEquityIncentivePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SubsidiaryCommonStockPurchaseByCompany" xlink:label="airg_SubsidiaryCommonStockPurchaseByCompany"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AtmOfferingsMember" xlink:label="airg_AtmOfferingsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued" xlink:label="us-gaap_CommonStockSharesIssued"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue" xlink:label="us-gaap_CommonStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredOfferingCosts" xlink:label="us-gaap_DeferredOfferingCosts"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ScheduleOfStockByClassTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_AuthorizedForGrantsUnderTheInducementPlanMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_PlanNameAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="airg_NimbelinkMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_TwoThousandAndSixteenEquityIncentivePlanMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="airg_SubsidiaryCommonStockPurchaseByCompany" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_AtmOfferingsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockSharesIssued" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_DeferredOfferingCosts" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_TwoThousandAndSixteenEquityIncentivePlanMember" xlink:label="airg_TwoThousandAndSixteenEquityIncentivePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="us-gaap_StatementEquityComponentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain" xlink:label="us-gaap_EquityComponentDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_WarrantsIssuedAndOutstandingMember" xlink:label="airg_WarrantsIssuedAndOutstandingMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" xlink:label="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember" xlink:label="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_StockOptionAwardsIssuedAndOutstandingMember" xlink:label="airg_StockOptionAwardsIssuedAndOutstandingMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AuthorizedForGrantsUnderTheInducementPlanMember" xlink:label="airg_AuthorizedForGrantsUnderTheInducementPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_StockAwardsIssuedAndOutstandingMember" xlink:label="airg_StockAwardsIssuedAndOutstandingMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_StockOptionsIssuedAndOutstandingMember" xlink:label="airg_StockOptionsIssuedAndOutstandingMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ScheduleOfStockByClassTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_TwoThousandAndSixteenEquityIncentivePlanMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_PlanNameAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_StatementEquityComponentsAxis" xlink:to="us-gaap_EquityComponentDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="airg_WarrantsIssuedAndOutstandingMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_CommonStockCapitalSharesReservedForFutureIssuance" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_StatementEquityComponentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="airg_StockOptionAwardsIssuedAndOutstandingMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_AuthorizedForGrantsUnderTheInducementPlanMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="airg_StockAwardsIssuedAndOutstandingMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_EquityComponentDomain" xlink:to="airg_StockOptionsIssuedAndOutstandingMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ClassOfStockLineItems" xlink:label="us-gaap_ClassOfStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfStockByClassTable" xlink:label="us-gaap_ScheduleOfStockByClassTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameDomain" xlink:label="us-gaap_PlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_TwoThousandAndSixteenEquityIncentivePlanMember" xlink:label="airg_TwoThousandAndSixteenEquityIncentivePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PlanNameAxis" xlink:label="us-gaap_PlanNameAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="us-gaap_TreasuryStockCommonShares"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember" xlink:label="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AuthorizedForGrantsUnderTheInducementPlanMember" xlink:label="airg_AuthorizedForGrantsUnderTheInducementPlanMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ScheduleOfStockByClassTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_TwoThousandAndSixteenEquityIncentivePlanMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfStockByClassTable" xlink:to="us-gaap_PlanNameAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_PlanNameAxis" xlink:to="us-gaap_PlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_TreasuryStockCommonShares" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_PlanNameDomain" xlink:to="airg_AuthorizedForGrantsUnderTheInducementPlanMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ClassOfStockLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockLineItems" xlink:label="us-gaap_SubsidiarySaleOfStockLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" xlink:label="us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AtTheMarketOfferingMember" xlink:label="airg_AtTheMarketOfferingMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesNewIssues" xlink:label="us-gaap_StockIssuedDuringPeriodSharesNewIssues"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockConsiderationReceivedOnTransaction" xlink:label="us-gaap_SaleOfStockConsiderationReceivedOnTransaction"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOrSaleOfEquity" xlink:label="us-gaap_ProceedsFromIssuanceOrSaleOfEquity"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_SubsidiarySaleOfStockLineItems" xlink:to="us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="airg_AtTheMarketOfferingMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsidiarySaleOfStockLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesNewIssues" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsidiarySaleOfStockLineItems" xlink:to="us-gaap_SaleOfStockConsiderationReceivedOnTransaction" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsidiarySaleOfStockLineItems" xlink:to="us-gaap_ProceedsFromIssuanceOrSaleOfEquity" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="us-gaap_AllocatedShareBasedCompensationExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="us-gaap_IncomeStatementLocationAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="us-gaap_IncomeStatementLocationDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfSalesMember" xlink:label="us-gaap_CostOfSalesMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="us-gaap_ResearchAndDevelopmentExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpenseMember" xlink:label="us-gaap_SellingAndMarketingExpenseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="us-gaap_GeneralAndAdministrativeExpenseMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_AllocatedShareBasedCompensationExpense" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_IncomeStatementLocationAxis" xlink:to="us-gaap_IncomeStatementLocationDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_IncomeStatementLocationAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_CostOfSalesMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_ResearchAndDevelopmentExpenseMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_SellingAndMarketingExpenseMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_IncomeStatementLocationDomain" xlink:to="us-gaap_GeneralAndAdministrativeExpenseMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SaleOfStockNameOfTransactionDomain" xlink:label="us-gaap_SaleOfStockNameOfTransactionDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockMember" xlink:label="us-gaap_EmployeeStockMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="us-gaap_EmployeeStockOptionMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsidiarySaleOfStockAxis" xlink:label="us-gaap_SubsidiarySaleOfStockAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_PerformanceStockUnitMember" xlink:label="airg_PerformanceStockUnitMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareSettledObligationMember" xlink:label="airg_ShareSettledObligationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" xlink:label="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_DescriptionOfPerformanceStockUnit" xlink:label="airg_DescriptionOfPerformanceStockUnit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" xlink:label="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" xlink:label="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" xlink:label="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_DebtConversionConvertatedAmount" xlink:label="airg_DebtConversionConvertatedAmount"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareGrantedUponSettlementOfDebt" xlink:label="airg_ShareGrantedUponSettlementOfDebt"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SaleOfStockNameOfTransactionDomain" xlink:to="us-gaap_EmployeeStockMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_EmployeeStockOptionMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsidiarySaleOfStockAxis" xlink:to="us-gaap_SaleOfStockNameOfTransactionDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_SubsidiarySaleOfStockAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="airg_PerformanceStockUnitMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="airg_ShareSettledObligationMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="airg_DescriptionOfPerformanceStockUnit" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="9" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="10" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="11" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="12" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="airg_DebtConversionConvertatedAmount" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="13" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="airg_ShareGrantedUponSettlementOfDebt" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_PerformanceStockUnitMember" xlink:label="airg_PerformanceStockUnitMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="airg_PerformanceStockUnitMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="6" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="7" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="8" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ShareSettledObligationMember" xlink:label="airg_ShareSettledObligationMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AwardTypeAxis" xlink:label="us-gaap_AwardTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" xlink:label="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RestrictedStockUnitsRSUMember" xlink:label="us-gaap_RestrictedStockUnitsRSUMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="airg_ShareSettledObligationMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_AwardTypeAxis" xlink:to="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:to="us-gaap_AwardTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:to="us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:to="us-gaap_RestrictedStockUnitsRSUMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails">
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommitmentAndContingenciesLineItems" xlink:label="airg_CommitmentAndContingenciesLineItems"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CommitmentAndContingenciesTable" xlink:label="airg_CommitmentAndContingenciesTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SupplyAgreementMember" xlink:label="airg_SupplyAgreementMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherCommitmentsAxis" xlink:label="us-gaap_OtherCommitmentsAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherCommitmentsDomain" xlink:label="us-gaap_OtherCommitmentsDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherCommitmentsDomain" xlink:label="us-gaap_OtherCommitmentsDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember" xlink:label="srt_RangeMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember" xlink:label="srt_MaximumMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TypeOfArrangementAxis" xlink:label="us-gaap_TypeOfArrangementAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:label="us-gaap_ArrangementsAndNonarrangementTransactionsMember_default"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SeveranceCostsMember" xlink:label="airg_SeveranceCostsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis" xlink:label="srt_RangeAxis"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_PurchaseOfInventory" xlink:label="airg_PurchaseOfInventory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember" xlink:label="srt_MinimumMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_PaymentsForInventory" xlink:label="airg_PaymentsForInventory"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SeveranceCosts1" xlink:label="us-gaap_SeveranceCosts1"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_LeaseTerminationDate" xlink:label="airg_LeaseTerminationDate"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_WarrantyExpenseReserved" xlink:label="airg_WarrantyExpenseReserved"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AccrualWarrantyExpense" xlink:label="airg_AccrualWarrantyExpense"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="airg_CommitmentAndContingenciesLineItems" xlink:to="airg_CommitmentAndContingenciesTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ArrangementsAndNonarrangementTransactionsMember" xlink:to="airg_SupplyAgreementMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_OtherCommitmentsAxis" xlink:to="us-gaap_OtherCommitmentsDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_OtherCommitmentsAxis" xlink:to="us-gaap_OtherCommitmentsDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MaximumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_TypeOfArrangementAxis" xlink:to="us-gaap_ArrangementsAndNonarrangementTransactionsMember_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_OtherCommitmentsDomain" xlink:to="airg_SeveranceCostsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_RangeAxis" xlink:to="srt_RangeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="airg_CommitmentAndContingenciesLineItems" xlink:to="airg_PurchaseOfInventory" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="airg_CommitmentAndContingenciesTable" xlink:to="us-gaap_TypeOfArrangementAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_RangeMember" xlink:to="srt_MinimumMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="airg_CommitmentAndContingenciesLineItems" xlink:to="airg_PaymentsForInventory" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="airg_CommitmentAndContingenciesTable" xlink:to="us-gaap_OtherCommitmentsAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="airg_CommitmentAndContingenciesLineItems" xlink:to="us-gaap_SeveranceCosts1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="airg_CommitmentAndContingenciesTable" xlink:to="srt_RangeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="airg_CommitmentAndContingenciesLineItems" xlink:to="airg_LeaseTerminationDate" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="airg_CommitmentAndContingenciesLineItems" xlink:to="airg_WarrantyExpenseReserved" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="5" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="airg_CommitmentAndContingenciesLineItems" xlink:to="airg_AccrualWarrantyExpense" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_MajorCustomersMember" xlink:label="airg_MajorCustomersMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_CN" xlink:label="country_CN"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_NumberOfVendors" xlink:label="airg_NumberOfVendors"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_MM" xlink:label="country_MM"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_VN" xlink:label="country_VN"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd#stpr_MN" xlink:label="stpr_MN"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_MajorCustomersMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_CN" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="srt_MajorCustomersAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="airg_NumberOfVendors" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_MM" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_VN" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="stpr_MN" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskLineItems" xlink:label="us-gaap_ConcentrationRiskLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTable" xlink:label="us-gaap_ConcentrationRiskTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:label="us-gaap_ConcentrationRiskByBenchmarkAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskBenchmarkDomain" xlink:label="us-gaap_ConcentrationRiskBenchmarkDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskByTypeAxis" xlink:label="us-gaap_ConcentrationRiskByTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskTypeDomain" xlink:label="us-gaap_ConcentrationRiskTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CustomerConcentrationRiskMember" xlink:label="us-gaap_CustomerConcentrationRiskMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskPercentage1" xlink:label="us-gaap_ConcentrationRiskPercentage1"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CustomerAMember" xlink:label="airg_CustomerAMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SalesRevenueNetMember" xlink:label="us-gaap_SalesRevenueNetMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CustomerBMember" xlink:label="airg_CustomerBMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableMember" xlink:label="us-gaap_AccountsReceivableMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CustomerCMember" xlink:label="airg_CustomerCMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CustomerDMember" xlink:label="airg_CustomerDMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_CustomerEMember" xlink:label="airg_CustomerEMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByBenchmarkAxis" xlink:to="us-gaap_ConcentrationRiskBenchmarkDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByTypeAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskTypeDomain" xlink:to="us-gaap_CustomerConcentrationRiskMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskLineItems" xlink:to="us-gaap_ConcentrationRiskPercentage1" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_CustomerAMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ConcentrationRiskByTypeAxis" xlink:to="us-gaap_ConcentrationRiskTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_SalesRevenueNetMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="us-gaap_ConcentrationRiskByBenchmarkAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_CustomerBMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ConcentrationRiskBenchmarkDomain" xlink:to="us-gaap_AccountsReceivableMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ConcentrationRiskTable" xlink:to="srt_MajorCustomersAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_CustomerCMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_CustomerDMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="4" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_CustomerEMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:label="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:label="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NoncurrentAssets" xlink:label="us-gaap_NoncurrentAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_AsiaPacificMember" xlink:label="srt_AsiaPacificMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EMEAMember" xlink:label="us-gaap_EMEAMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems" xlink:to="us-gaap_NoncurrentAssets" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_AsiaPacificMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="us-gaap_EMEAMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDisaggregatedRevenueSummaryOfDisaggregatedRevenueBySalesChannelDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerSalesChannelDomain" xlink:label="us-gaap_ContractWithCustomerSalesChannelDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SalesChannelFulfillmentDistributorsMember" xlink:label="airg_SalesChannelFulfillmentDistributorsMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerSalesChannelAxis" xlink:label="us-gaap_ContractWithCustomerSalesChannelAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerSalesChannelDomain" xlink:label="us-gaap_ContractWithCustomerSalesChannelDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SalesChannelDistributorsAndResellersMember" xlink:label="airg_SalesChannelDistributorsAndResellersMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SalesChannelOtherMember" xlink:label="airg_SalesChannelOtherMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_SalesChannelOEMODMContractManufacturerMember" xlink:label="airg_SalesChannelOEMODMContractManufacturerMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ContractWithCustomerSalesChannelDomain" xlink:to="airg_SalesChannelFulfillmentDistributorsMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_ContractWithCustomerSalesChannelAxis" xlink:to="us-gaap_ContractWithCustomerSalesChannelDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_ContractWithCustomerSalesChannelAxis" xlink:to="us-gaap_ContractWithCustomerSalesChannelDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_ContractWithCustomerSalesChannelAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ContractWithCustomerSalesChannelDomain" xlink:to="airg_SalesChannelDistributorsAndResellersMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ContractWithCustomerSalesChannelDomain" xlink:to="airg_SalesChannelOtherMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_ContractWithCustomerSalesChannelDomain" xlink:to="airg_SalesChannelOEMODMContractManufacturerMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MajorCustomersAxis" xlink:label="srt_MajorCustomersAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NameOfMajorCustomerDomain" xlink:label="srt_NameOfMajorCustomerDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:label="us-gaap_TimingOfTransferOfGoodOrServiceDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredAtPointInTimeMember" xlink:label="us-gaap_TransferredAtPointInTimeMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_EnterpriseMember" xlink:label="airg_EnterpriseMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_NorthAmericaMember" xlink:label="srt_NorthAmericaMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TransferredOverTimeMember" xlink:label="us-gaap_TransferredOverTimeMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ConsumerMember" xlink:label="airg_ConsumerMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_ChinaIncludingHongKongAndTaiwanMember" xlink:label="airg_ChinaIncludingHongKongAndTaiwanMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AutomotiveMember" xlink:label="airg_AutomotiveMember"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_OtherCountriesMember" xlink:label="airg_OtherCountriesMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_MajorCustomersAxis" xlink:to="srt_NameOfMajorCustomerDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceAxis" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TransferredAtPointInTimeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_EnterpriseMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_MajorCustomersAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="srt_NorthAmericaMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_TimingOfTransferOfGoodOrServiceDomain" xlink:to="us-gaap_TransferredOverTimeMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_ConsumerMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_TimingOfTransferOfGoodOrServiceAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="airg_ChinaIncludingHongKongAndTaiwanMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_NameOfMajorCustomerDomain" xlink:to="airg_AutomotiveMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="airg_OtherCountriesMember" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="us-gaap_DisaggregationOfRevenueLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="us-gaap_DisaggregationOfRevenueTable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis" xlink:label="srt_StatementGeographicalAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain" xlink:label="srt_SegmentGeographicalDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="us-gaap_BusinessAcquisitionAcquireeDomain"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_NimbelinkMember" xlink:label="airg_NimbelinkMember"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2024/country-2024.xsd#country_US" xlink:label="country_US"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="us-gaap_BusinessAcquisitionAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerRightToRecoverProduct" xlink:label="us-gaap_ContractWithCustomerRightToRecoverProduct"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="us-gaap_RevenueRemainingPerformanceObligation"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="srt_StatementGeographicalAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="srt_StatementGeographicalAxis" xlink:to="srt_SegmentGeographicalDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_BusinessAcquisitionAcquireeDomain" xlink:to="airg_NimbelinkMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="srt_SegmentGeographicalDomain" xlink:to="country_US" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_BusinessAcquisitionAxis" xlink:to="us-gaap_BusinessAcquisitionAcquireeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_DisaggregationOfRevenueTable" xlink:to="us-gaap_BusinessAcquisitionAxis" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerRightToRecoverProduct" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="2" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="3" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_DisaggregationOfRevenueLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" priority="2" use="optional"/>
        </link:definitionLink>
        <link:definitionLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails">
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventLineItems" xlink:label="us-gaap_SubsequentEventLineItems"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTable" xlink:label="us-gaap_SubsequentEventTable"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_EmployeeRetentionCreditRefunds" xlink:label="airg_EmployeeRetentionCreditRefunds"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="us-gaap_SubsequentEventTypeAxis"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="us-gaap_SubsequentEventTypeDomain_default"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventMember" xlink:label="us-gaap_SubsequentEventMember"/>
          <link:definitionArc xlink:type="arc" order="1" xbrldt:closed="true" xbrldt:contextElement="segment" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="us-gaap_SubsequentEventTable" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventLineItems" xlink:to="airg_EmployeeRetentionCreditRefunds" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="us-gaap_SubsequentEventTypeAxis" xlink:to="us-gaap_SubsequentEventTypeDomain_default" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="us-gaap_SubsequentEventTypeDomain" xlink:to="us-gaap_SubsequentEventMember" priority="2" use="optional"/>
          <link:definitionArc xlink:type="arc" order="0" xbrldt:closed="false" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="us-gaap_SubsequentEventTable" xlink:to="us-gaap_SubsequentEventTypeAxis" priority="2" use="optional"/>
        </link:definitionLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_AssetsCurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_CommonStocksIncludingAdditionalPaidInCapital" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_Liabilities" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_LiabilitiesCurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccountsPayableCurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_TreasuryStockValue" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_StockholdersEquity" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_DeferredIncomeTaxLiabilitiesNet" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedBonusesCurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_CommitmentsAndContingencies" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_InventoryNet" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_Goodwill" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Liabilities" xlink:to="us-gaap_AccruedRentNoncurrent" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_AssetsCurrent" xlink:to="us-gaap_PrepaidExpenseAndOtherAssetsCurrent" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_StockholdersEquity" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_Assets" xlink:to="us-gaap_OtherAssetsNoncurrent" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="airg_DeferredPurchasePriceLiabilitiesCurrent" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LiabilitiesCurrent" xlink:to="us-gaap_AccruedRentCurrent" order="8" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets" xlink:label="us-gaap_Assets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent" xlink:label="us-gaap_AssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity" xlink:label="us-gaap_StockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStocksIncludingAdditionalPaidInCapital" xlink:label="us-gaap_CommonStocksIncludingAdditionalPaidInCapital"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities" xlink:label="us-gaap_Liabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent" xlink:label="us-gaap_LiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent" xlink:label="us-gaap_AccountsPayableCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TreasuryStockValue" xlink:label="us-gaap_TreasuryStockValue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="us-gaap_DeferredIncomeTaxLiabilitiesNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="us-gaap_AccountsReceivableNetCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedBonusesCurrent" xlink:label="us-gaap_AccruedBonusesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="us-gaap_CommitmentsAndContingencies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill" xlink:label="us-gaap_Goodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedRentNoncurrent" xlink:label="us-gaap_AccruedRentNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="us-gaap_PrepaidExpenseAndOtherAssetsCurrent"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent" xlink:label="airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="us-gaap_OtherAssetsNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_DeferredPurchasePriceLiabilitiesCurrent" xlink:label="airg_DeferredPurchasePriceLiabilitiesCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedRentCurrent" xlink:label="us-gaap_AccruedRentCurrent"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails3">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="airg_UnrealizedTranslationGain" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_OperatingLeaseLiability" order="2" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability" xlink:label="us-gaap_OperatingLeaseLiability"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_UnrealizedTranslationGain" xlink:label="airg_UnrealizedTranslationGain"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OperatingIncomeLoss" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeTaxExpenseBenefit" order="0" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_ResearchAndDevelopmentExpense" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_GrossProfit" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetIncomeLoss" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="airg_OtherIncomeExpense" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_SellingAndMarketingExpense" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_GrossProfit" xlink:to="us-gaap_CostOfRevenue" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingIncomeLoss" xlink:to="us-gaap_OperatingExpenses" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_GeneralAndAdministrativeExpense" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingExpense" order="3" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OperatingExpenses" xlink:to="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncome" order="4" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss" xlink:label="us-gaap_OperatingIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="us-gaap_IncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpenses" xlink:label="us-gaap_OperatingExpenses"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="us-gaap_ResearchAndDevelopmentExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit" xlink:label="us-gaap_GrossProfit"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="us-gaap_OtherNonoperatingIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_OtherIncomeExpense" xlink:label="airg_OtherIncomeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="us-gaap_SellingAndMarketingExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfRevenue" xlink:label="us-gaap_CostOfRevenue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="us-gaap_GeneralAndAdministrativeExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingExpense" xlink:label="us-gaap_OtherNonoperatingExpense"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncome" xlink:label="us-gaap_OtherNonoperatingIncome"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails4">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" order="3" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_NetIncomeLoss" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetIncomeLoss" xlink:label="us-gaap_NetIncomeLoss"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments" xlink:label="us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_Depreciation" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_GainLossOnSaleOfPropertyPlantEquipment" order="1" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_AmortizationOfIntangibleAssets" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromStockOptionsExercised" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ShareBasedCompensation" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="3" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" order="3" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" order="4" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="airg_AmortizationOfPrepaidAssets" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_ProceedsFromIssuanceOfCommonStock" order="5" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="airg_AccrualOfPropertyAndEquipment" order="6" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" order="7" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInInventories" order="8" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" order="9" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInOtherCurrentAssets" order="10" weight="-1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" order="11" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" order="12" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" order="13" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="airg_IncreaseDecreaseInLeaseLiabilities" order="16" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_ProfitLoss" order="17" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation" xlink:label="us-gaap_Depreciation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GainLossOnSaleOfPropertyPlantEquipment" xlink:label="us-gaap_GainLossOnSaleOfPropertyPlantEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="us-gaap_AmortizationOfIntangibleAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromStockOptionsExercised" xlink:label="us-gaap_ProceedsFromStockOptionsExercised"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation" xlink:label="us-gaap_ShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AmortizationOfPrepaidAssets" xlink:label="airg_AmortizationOfPrepaidAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock" xlink:label="us-gaap_ProceedsFromIssuanceOfCommonStock"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_AccrualOfPropertyAndEquipment" xlink:label="airg_AccrualOfPropertyAndEquipment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="us-gaap_IncreaseDecreaseInInventories"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherCurrentAssets" xlink:label="us-gaap_IncreaseDecreaseInOtherCurrentAssets"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities" xlink:label="us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="airg-20240630.xsd#airg_IncreaseDecreaseInLeaseLiabilities" xlink:label="airg_IncreaseDecreaseInLeaseLiabilities"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss" xlink:label="us-gaap_ProfitLoss"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfComputationOfNetLossPerShareDetails">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryRawMaterialsAndSupplies" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_InventoryNet" xlink:to="us-gaap_InventoryFinishedGoods" order="1" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet" xlink:label="us-gaap_InventoryNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterialsAndSupplies" xlink:label="us-gaap_InventoryRawMaterialsAndSupplies"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoods" xlink:label="us-gaap_InventoryFinishedGoods"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentGross" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_PropertyPlantAndEquipmentNet" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="1" weight="-1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="us-gaap_PropertyPlantAndEquipmentNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross" xlink:label="us-gaap_PropertyPlantAndEquipmentGross"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment"/>
        </link:calculationLink>
        <link:calculationLink xlink:type="extended" xlink:role="http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillScheduleOfEstimatedAnnualAmortizationOfIntangibleAssetsDetails">
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" order="0" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" order="1" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" order="2" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" order="3" weight="1" use="optional"/>
          <link:calculationArc xlink:type="arc" xlink:arcrole="https://xbrl.org/2023/arcrole/summation-item" xlink:from="us-gaap_FiniteLivedIntangibleAssetsNet" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" order="4" weight="1" use="optional"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="us-gaap_FiniteLivedIntangibleAssetsNet"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree"/>
          <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour"/>
        </link:calculationLink>
      </link:linkbase>
    </xsd:appinfo>
  </xsd:annotation>
  <xsd:element id="airg_GoodsReceivedNotInvoiced" name="GoodsReceivedNotInvoiced" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember" name="ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_StockOptionsAndRestrictedStockMember" name="StockOptionsAndRestrictedStockMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_ScheduleOfPerformanceStockUnitTableTextBlock" name="ScheduleOfPerformanceStockUnitTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_CovenantsToNonCompeteMember" name="CovenantsToNonCompeteMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm1" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm1" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_SignificantAccountingPoliciesTable" name="SignificantAccountingPoliciesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_OtherIncomeExpense" name="OtherIncomeExpense" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="airg_LineOfCreditFacilityAggregateEligibleAccountsPercentage" name="LineOfCreditFacilityAggregateEligibleAccountsPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_PurchaseOfInventory" name="PurchaseOfInventory" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="airg_SupplyAgreementMember" name="SupplyAgreementMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue" name="CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="airg_WarrantyExpenseReserved" name="WarrantyExpenseReserved" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="airg_AccrualOfPropertyAndEquipment" name="AccrualOfPropertyAndEquipment" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="airg_SalesChannelOEMODMContractManufacturerMember" name="SalesChannelOEMODMContractManufacturerMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_RevenueRecognitionPaymentTerms" name="RevenueRecognitionPaymentTerms" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_NimbelinkMember" name="NimbelinkMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_ScheduleOfTheCompanysAtmSalesActivityTabletextblock" name="ScheduleOfTheCompanysAtmSalesActivityTabletextblock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_DescriptionOfBusinessPolicyTextBlock" name="DescriptionOfBusinessPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock" name="ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_RestrictedCashPolicyTextBlock" name="RestrictedCashPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_AuthorizedForGrantsUnderTheInducementPlanMember" name="AuthorizedForGrantsUnderTheInducementPlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_SeveranceCostsMember" name="SeveranceCostsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_AmortizationOfPrepaidAssets" name="AmortizationOfPrepaidAssets" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="airg_AccruedExpenseOfSeverancCosts" name="AccruedExpenseOfSeverancCosts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="airg_Rule10B51ArrModifiedFlag" name="Rule10B51ArrModifiedFlag" type="xbrli:booleanItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_StockOptionsIssuedAndOutstandingMember" name="StockOptionsIssuedAndOutstandingMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent" name="AccruedLiabilitiesAndOtherLiabilitiesCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="airg_ShareGrantedUponSettlementOfDebt" name="ShareGrantedUponSettlementOfDebt" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="airg_CashEquivalentsAndShortTermInvestmentsPolicyPolicyTextBlock" name="CashEquivalentsAndShortTermInvestmentsPolicyPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems" name="CashAndCashEquivalentsAndShortTermInvestmentsLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_DeferredPurchasePriceLiabilitiesCurrent" name="DeferredPurchasePriceLiabilitiesCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="airg_LineOfCreditFacilityNetAllowancePercentage" name="LineOfCreditFacilityNetAllowancePercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_SubsidiaryCommonStockPurchaseByCompany" name="SubsidiaryCommonStockPurchaseByCompany" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false"/>
  <xsd:element id="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancelledWeightedAverageRemainingContractualTerm1" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancelledWeightedAverageRemainingContractualTerm1" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare" name="CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock" name="OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="airg_PaymentOfSeveranceCosts" name="PaymentOfSeveranceCosts" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="airg_CommitmentAndContingenciesLineItems" name="CommitmentAndContingenciesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_PaymentsForInventory" name="PaymentsForInventory" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm1" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm1" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_AccrualWarrantyExpense" name="AccrualWarrantyExpense" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="airg_CommonStockAndAdditionalPaidInCapitalMember" name="CommonStockAndAdditionalPaidInCapitalMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember" name="TwoThousandAndSixteenEmployeeStockPurchasePlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember" name="ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_ProvisionForExcessAndObsoleteInventories" name="ProvisionForExcessAndObsoleteInventories" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="airg_ShareSettledObligationMember" name="ShareSettledObligationMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_ComputersAndSoftwareMember" name="ComputersAndSoftwareMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_EmployeeStockPurchasePlanSharesMember" name="EmployeeStockPurchasePlanSharesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis" name="CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="airg_LiquidityRatio" name="LiquidityRatio" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_MajorCustomersMember" name="MajorCustomersMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_EnterpriseMember" name="EnterpriseMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_DescriptionOfPerformanceStockUnit" name="DescriptionOfPerformanceStockUnit" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_SeveranceAndExitCosts1" name="SeveranceAndExitCosts1" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="airg_ShareRepurchaseProgramAugustTwoZeroOneSevenMember" name="ShareRepurchaseProgramAugustTwoZeroOneSevenMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_CommonStockIssuedThroughStockOptions" name="CommonStockIssuedThroughStockOptions" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="airg_ContractLiabilitiesCurrent" name="ContractLiabilitiesCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="airg_AtTheMarketOfferingMember" name="AtTheMarketOfferingMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock" name="ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_SalesChannelFulfillmentDistributorsMember" name="SalesChannelFulfillmentDistributorsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards" name="CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="airg_CommitmentAndContingenciesTable" name="CommitmentAndContingenciesTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_NonRule10B51ArrModifiedFlag" name="NonRule10B51ArrModifiedFlag" type="xbrli:booleanItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables" name="LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_SummaryOfFairValueOfPurchaseConsiderationTableTextBlock" name="SummaryOfFairValueOfPurchaseConsiderationTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_AutomotiveMember" name="AutomotiveMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_AtmOfferingsMember" name="AtmOfferingsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_OtherCountriesMember" name="OtherCountriesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock" name="ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_StockAwardsIssuedAndOutstandingMember" name="StockAwardsIssuedAndOutstandingMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_CustomerDMember" name="CustomerDMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_LeaseTerminationDate" name="LeaseTerminationDate" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_FinishedGoodsMember" name="FinishedGoodsMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock" name="ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_CustomerAMember" name="CustomerAMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_RightOfUseAssetsRecordedInNonCashInvestingAndFinancingActivities" name="RightOfUseAssetsRecordedInNonCashInvestingAndFinancingActivities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare" name="Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_DeferredRevenueRecognitionPeriod" name="DeferredRevenueRecognitionPeriod" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_CommonStockIssuedThroughStockOptionsShare" name="CommonStockIssuedThroughStockOptionsShare" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_DebtConversionConvertatedAmount" name="DebtConversionConvertatedAmount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="airg_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" name="FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="airg_SalesChannelOtherMember" name="SalesChannelOtherMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_SalesChannelDistributorsAndResellersMember" name="SalesChannelDistributorsAndResellersMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_StockRepurchaseProgramAdditionalPeriodInForce1" name="StockRepurchaseProgramAdditionalPeriodInForce1" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_UnrealizedTranslationGain" name="UnrealizedTranslationGain" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="airg_LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage" name="LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_PerformanceStockUnitMember" name="PerformanceStockUnitMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_IncreaseDecreaseInLeaseLiabilities" name="IncreaseDecreaseInLeaseLiabilities" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="debit"/>
  <xsd:element id="airg_AdvancedPaymentsFromContractManufacturers" name="AdvancedPaymentsFromContractManufacturers" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="airg_CashAndCashEquivalentsAndShortTermInvestmentsTable" name="CashAndCashEquivalentsAndShortTermInvestmentsTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_CustomerEMember" name="CustomerEMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_TwoThousandAndSixteenEquityIncentivePlanMember" name="TwoThousandAndSixteenEquityIncentivePlanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_SignificantAccountingPoliciesLineItems" name="SignificantAccountingPoliciesLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage" name="LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_WarrantsIssuedAndOutstandingMember" name="WarrantsIssuedAndOutstandingMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_CustomerBMember" name="CustomerBMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_CustomerCMember" name="CustomerCMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_StockOptionAwardsIssuedAndOutstandingMember" name="StockOptionAwardsIssuedAndOutstandingMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock" name="RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_EmployeeRetentionCreditRefunds" name="EmployeeRetentionCreditRefunds" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false" xbrli:balance="credit"/>
  <xsd:element id="airg_NumberOfVendors" name="NumberOfVendors" type="xbrli:integerItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="false"/>
  <xsd:element id="airg_ChinaIncludingHongKongAndTaiwanMember" name="ChinaIncludingHongKongAndTaiwanMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_ConsumerMember" name="ConsumerMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
  <xsd:element id="airg_ConsignedInventoriesMember" name="ConsignedInventoriesMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" nillable="true" abstract="true"/>
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>8
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552591016816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - shares<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jul. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jun. 30,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">AIRG<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">AIRGAIN, INC.<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001272842<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">001-37851<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">95-4523882<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">3611 Valley Centre Drive<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">Suite 150<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">San Diego<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CA<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">92130<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">760<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">579-0200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,301,507<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock, par value $0.0001 per share<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 2 such as Street or Suite number</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>9
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552593689984">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 8,416<span></span>
</td>
<td class="nump">$ 7,881<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Trade accounts receivable, net</a></td>
<td class="nump">8,642<span></span>
</td>
<td class="nump">7,375<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">3,144<span></span>
</td>
<td class="nump">2,403<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">1,109<span></span>
</td>
<td class="nump">1,422<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">21,311<span></span>
</td>
<td class="nump">19,081<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">2,220<span></span>
</td>
<td class="nump">2,507<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Leased right-of-use assets</a></td>
<td class="nump">1,146<span></span>
</td>
<td class="nump">1,392<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">10,845<span></span>
</td>
<td class="nump">10,845<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net</a></td>
<td class="nump">6,751<span></span>
</td>
<td class="nump">8,234<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">164<span></span>
</td>
<td class="nump">170<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">42,437<span></span>
</td>
<td class="nump">42,229<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">5,844<span></span>
</td>
<td class="nump">6,472<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedBonusesCurrent', window );">Accrued compensation</a></td>
<td class="nump">1,295<span></span>
</td>
<td class="nump">728<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent', window );">Accrued liabilities and other</a></td>
<td class="nump">2,287<span></span>
</td>
<td class="nump">1,926<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Short-term lease liabilities</a></td>
<td class="nump">881<span></span>
</td>
<td class="nump">865<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">10,307<span></span>
</td>
<td class="nump">9,991<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred tax liability</a></td>
<td class="nump">170<span></span>
</td>
<td class="nump">151<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Long-term lease liabilities</a></td>
<td class="nump">370<span></span>
</td>
<td class="nump">674<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">10,847<span></span>
</td>
<td class="nump">10,816<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (Note 13)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders&#8217; equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStocksIncludingAdditionalPaidInCapital', window );">Common stock and additional paid-in capital, par value $0.0001, 200,000 shares authorized; 11,842 shares issued and 11,301 shares outstanding at June 30, 2024; and 11,010 shares issued and 10,469 shares outstanding at December 31, 2023.</a></td>
<td class="nump">120,444<span></span>
</td>
<td class="nump">115,295<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury stock, at cost: 541 shares at June 30, 2024 and December 31, 2023.</a></td>
<td class="num">(5,364)<span></span>
</td>
<td class="num">(5,364)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Accumulated deficit</a></td>
<td class="num">(83,489)<span></span>
</td>
<td class="num">(78,521)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive (loss) income</a></td>
<td class="num">(1)<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders&#8217; equity</a></td>
<td class="nump">31,590<span></span>
</td>
<td class="nump">31,413<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders&#8217; equity</a></td>
<td class="nump">$ 42,437<span></span>
</td>
<td class="nump">$ 42,229<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accrued liabilities and other liabilities, current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedBonusesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedBonusesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStocksIncludingAdditionalPaidInCapital">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of par value plus amounts in excess of par value or issuance value for common stock issued.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStocksIncludingAdditionalPaidInCapital</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481520/505-30-50-4<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>10
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552593680848">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical) - $ / shares<br></strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>Statement of Financial Position [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value</a></td>
<td class="nump">$ 0.0001<span></span>
</td>
<td class="nump">$ 0.0001<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized</a></td>
<td class="nump">200,000,000<span></span>
</td>
<td class="nump">200,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">common stock issue</a></td>
<td class="nump">11,842,000<span></span>
</td>
<td class="nump">11,010,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding</a></td>
<td class="nump">11,301,000<span></span>
</td>
<td class="nump">10,469,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury stock, shares at cost</a></td>
<td class="nump">541,000<span></span>
</td>
<td class="nump">541,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>11
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552595019184">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Operations (Unaudited) - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>Income Statement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">$ 15,184<span></span>
</td>
<td class="nump">$ 15,830<span></span>
</td>
<td class="nump">$ 29,415<span></span>
</td>
<td class="nump">$ 32,274<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of goods sold</a></td>
<td class="nump">9,036<span></span>
</td>
<td class="nump">9,551<span></span>
</td>
<td class="nump">17,691<span></span>
</td>
<td class="nump">19,677<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">6,148<span></span>
</td>
<td class="nump">6,279<span></span>
</td>
<td class="nump">11,724<span></span>
</td>
<td class="nump">12,597<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">3,116<span></span>
</td>
<td class="nump">2,590<span></span>
</td>
<td class="nump">6,236<span></span>
</td>
<td class="nump">5,039<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">2,349<span></span>
</td>
<td class="nump">2,305<span></span>
</td>
<td class="nump">4,507<span></span>
</td>
<td class="nump">5,171<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">3,188<span></span>
</td>
<td class="nump">3,596<span></span>
</td>
<td class="nump">6,115<span></span>
</td>
<td class="nump">7,389<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Total operating expenses</a></td>
<td class="nump">8,653<span></span>
</td>
<td class="nump">8,491<span></span>
</td>
<td class="nump">16,858<span></span>
</td>
<td class="nump">17,599<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Loss from operations</a></td>
<td class="num">(2,505)<span></span>
</td>
<td class="num">(2,212)<span></span>
</td>
<td class="num">(5,134)<span></span>
</td>
<td class="num">(5,002)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract', window );"><strong>Other (income) expense:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncome', window );">Interest income, net</a></td>
<td class="num">(27)<span></span>
</td>
<td class="num">(16)<span></span>
</td>
<td class="num">(53)<span></span>
</td>
<td class="num">(34)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_OtherIncomeExpense', window );">Other expense (income)</a></td>
<td class="nump">1<span></span>
</td>
<td class="nump">11<span></span>
</td>
<td class="num">(7)<span></span>
</td>
<td class="nump">15<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Total other income</a></td>
<td class="num">(26)<span></span>
</td>
<td class="num">(5)<span></span>
</td>
<td class="num">(60)<span></span>
</td>
<td class="num">(19)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Loss before income taxes</a></td>
<td class="num">(2,479)<span></span>
</td>
<td class="num">(2,207)<span></span>
</td>
<td class="num">(5,074)<span></span>
</td>
<td class="num">(4,983)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax expense (benefit)</a></td>
<td class="nump">34<span></span>
</td>
<td class="num">(2)<span></span>
</td>
<td class="num">(106)<span></span>
</td>
<td class="nump">80<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net loss</a></td>
<td class="num">$ (2,513)<span></span>
</td>
<td class="num">$ (2,205)<span></span>
</td>
<td class="num">$ (4,968)<span></span>
</td>
<td class="num">$ (5,063)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net loss per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="num">$ (0.23)<span></span>
</td>
<td class="num">$ (0.21)<span></span>
</td>
<td class="num">$ (0.46)<span></span>
</td>
<td class="num">$ (0.49)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="num">$ (0.23)<span></span>
</td>
<td class="num">$ (0.21)<span></span>
</td>
<td class="num">$ (0.46)<span></span>
</td>
<td class="num">$ (0.49)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract', window );"><strong>Weighted average shares used in calculating loss per share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic</a></td>
<td class="nump">10,938<span></span>
</td>
<td class="nump">10,413<span></span>
</td>
<td class="nump">10,736<span></span>
</td>
<td class="nump">10,340<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted</a></td>
<td class="nump">10,938<span></span>
</td>
<td class="nump">10,413<span></span>
</td>
<td class="nump">10,736<span></span>
</td>
<td class="nump">10,340<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_OtherIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Other (income) expense</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_OtherIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482916/730-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479532/912-730-25-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552590980912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Comprehensive Loss (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>Statement of Comprehensive Income [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">$ (2,513)<span></span>
</td>
<td class="num">$ (2,205)<span></span>
</td>
<td class="num">$ (4,968)<span></span>
</td>
<td class="num">$ (5,063)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossTaxAbstract', window );"><strong>Other comprehensive loss:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments', window );">Foreign currency translation adjustment</a></td>
<td class="num">(2)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(4)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive loss</a></td>
<td class="num">$ (2,515)<span></span>
</td>
<td class="num">$ (2,205)<span></span>
</td>
<td class="num">$ (4,972)<span></span>
</td>
<td class="num">$ (5,063)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossTaxAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossTaxAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Adjustments to temporary equity resulting from foreign currency translation adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552591284464">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Stockholders' Equity (Unaudited) - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Total</div></th>
<th class="th"><div>Common Stock and Additional Paid-in Capital</div></th>
<th class="th"><div>Treasury Stock</div></th>
<th class="th"><div>Accumulated Other Comprehensive (Loss) Income</div></th>
<th class="th"><div>Accumulated Deficit</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Shares, Outstanding, Beginning Balance at Dec. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,767<span></span>
</td>
<td class="num">(541)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2022</a></td>
<td class="nump">$ 39,825<span></span>
</td>
<td class="nump">$ 111,282<span></span>
</td>
<td class="num">$ (5,364)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (66,093)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">(2,858)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,858)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">1,874<span></span>
</td>
<td class="nump">$ 1,874<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Common stock Issued through restricted stock awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">278<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare', window );">Common stock withheld related to net share settlement of equity awards, Share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(118)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards', window );">Common stock withheld related to net share settlement of equity awards</a></td>
<td class="num">(678)<span></span>
</td>
<td class="num">$ (678)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Common stock issued under ESPP, Share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Common stock issued under ESPP, Value</a></td>
<td class="nump">137<span></span>
</td>
<td class="nump">$ 137<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Mar. 31, 2023</a></td>
<td class="nump">38,300<span></span>
</td>
<td class="nump">$ 112,615<span></span>
</td>
<td class="num">$ (5,364)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(68,951)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Shares, Outstanding, Ending Balance at Mar. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,949<span></span>
</td>
<td class="num">(541)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Shares, Outstanding, Beginning Balance at Dec. 31, 2022</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,767<span></span>
</td>
<td class="num">(541)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2022</a></td>
<td class="nump">39,825<span></span>
</td>
<td class="nump">$ 111,282<span></span>
</td>
<td class="num">$ (5,364)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(66,093)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">(5,063)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments', window );">Foreign currency translation adjustment</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Jun. 30, 2023</a></td>
<td class="nump">37,079<span></span>
</td>
<td class="nump">$ 113,599<span></span>
</td>
<td class="num">$ (5,364)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(71,156)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Shares, Outstanding, Ending Balance at Jun. 30, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,964<span></span>
</td>
<td class="num">(541)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Shares, Outstanding, Beginning Balance at Mar. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,949<span></span>
</td>
<td class="num">(541)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Mar. 31, 2023</a></td>
<td class="nump">38,300<span></span>
</td>
<td class="nump">$ 112,615<span></span>
</td>
<td class="num">$ (5,364)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(68,951)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">(2,205)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,205)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">968<span></span>
</td>
<td class="nump">$ 968<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Common stock Issued through restricted stock awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_CommonStockIssuedThroughStockOptionsShare', window );">Common stock Issued through stock options, Share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_CommonStockIssuedThroughStockOptions', window );">Common stock Issued through stock options</a></td>
<td class="nump">28<span></span>
</td>
<td class="nump">$ 28<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare', window );">Common stock withheld related to net share settlement of equity awards, Share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards', window );">Common stock withheld related to net share settlement of equity awards</a></td>
<td class="num">(12)<span></span>
</td>
<td class="num">$ (12)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments', window );">Foreign currency translation adjustment</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Jun. 30, 2023</a></td>
<td class="nump">37,079<span></span>
</td>
<td class="nump">$ 113,599<span></span>
</td>
<td class="num">$ (5,364)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(71,156)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Shares, Outstanding, Ending Balance at Jun. 30, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,964<span></span>
</td>
<td class="num">(541)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Shares, Outstanding, Beginning Balance at Dec. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,010<span></span>
</td>
<td class="num">(541)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2023</a></td>
<td class="nump">31,413<span></span>
</td>
<td class="nump">$ 115,295<span></span>
</td>
<td class="num">$ (5,364)<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
<td class="num">(78,521)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">(2,455)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,455)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">1,087<span></span>
</td>
<td class="nump">$ 1,087<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Common stock Issued through restricted stock awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">169<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare', window );">Common stock withheld related to net share settlement of equity awards, Share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(24)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards', window );">Common stock withheld related to net share settlement of equity awards</a></td>
<td class="num">(94)<span></span>
</td>
<td class="num">$ (94)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Common stock issued under ESPP, Share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">23<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Common stock issued under ESPP, Value</a></td>
<td class="nump">76<span></span>
</td>
<td class="nump">$ 76<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments', window );">Foreign currency translation adjustment</a></td>
<td class="num">(2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare', window );">Common stock Issued in connection with at-the-market offerings, net Share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">124<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue', window );">Common stock Issued in connection with at-the-market offerings, net Value</a></td>
<td class="nump">488<span></span>
</td>
<td class="nump">$ 488<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Mar. 31, 2024</a></td>
<td class="nump">30,513<span></span>
</td>
<td class="nump">$ 116,852<span></span>
</td>
<td class="num">$ (5,364)<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="num">(80,976)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Shares, Outstanding, Ending Balance at Mar. 31, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,302<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Shares, Outstanding, Beginning Balance at Dec. 31, 2023</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,010<span></span>
</td>
<td class="num">(541)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2023</a></td>
<td class="nump">31,413<span></span>
</td>
<td class="nump">$ 115,295<span></span>
</td>
<td class="num">$ (5,364)<span></span>
</td>
<td class="nump">3<span></span>
</td>
<td class="num">(78,521)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">(4,968)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments', window );">Foreign currency translation adjustment</a></td>
<td class="num">(4)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Jun. 30, 2024</a></td>
<td class="nump">31,590<span></span>
</td>
<td class="nump">$ 120,444<span></span>
</td>
<td class="num">$ (5,364)<span></span>
</td>
<td class="num">(1)<span></span>
</td>
<td class="num">(83,489)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Shares, Outstanding, Ending Balance at Jun. 30, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,842<span></span>
</td>
<td class="num">(541)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Shares, Outstanding, Beginning Balance at Mar. 31, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,302<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Mar. 31, 2024</a></td>
<td class="nump">30,513<span></span>
</td>
<td class="nump">$ 116,852<span></span>
</td>
<td class="num">$ (5,364)<span></span>
</td>
<td class="nump">1<span></span>
</td>
<td class="num">(80,976)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">(2,513)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2,513)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation</a></td>
<td class="nump">1,049<span></span>
</td>
<td class="nump">$ 1,049<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">Common stock Issued through restricted stock awards</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_CommonStockIssuedThroughStockOptionsShare', window );">Common stock Issued through stock options, Share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_CommonStockIssuedThroughStockOptions', window );">Common stock Issued through stock options</a></td>
<td class="nump">25<span></span>
</td>
<td class="nump">$ 25<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments', window );">Foreign currency translation adjustment</a></td>
<td class="num">(2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare', window );">Common stock Issued in connection with at-the-market offerings, net Share</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">505<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue', window );">Common stock Issued in connection with at-the-market offerings, net Value</a></td>
<td class="nump">2,518<span></span>
</td>
<td class="nump">$ 2,518<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Jun. 30, 2024</a></td>
<td class="nump">$ 31,590<span></span>
</td>
<td class="nump">$ 120,444<span></span>
</td>
<td class="num">$ (5,364)<span></span>
</td>
<td class="num">$ (1)<span></span>
</td>
<td class="num">$ (83,489)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Shares, Outstanding, Ending Balance at Jun. 30, 2024</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,842<span></span>
</td>
<td class="num">(541)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Common Stock Issued In Connection With At-The-Market Offerings Share</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Common Stock Issued In Connection With At The Market Offerings Value</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_CommonStockIssuedThroughStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Common stock Issued through stock options</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_CommonStockIssuedThroughStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_CommonStockIssuedThroughStockOptionsShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Common stock Issued through stock options Share</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_CommonStockIssuedThroughStockOptionsShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Common stock withheld related to net share settlement of equity awards</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>CommonStockWithheldRelatedToNetShareSettlementOfEquityAwardsShare</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of an employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Adjustments to temporary equity resulting from foreign currency translation adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552593723952">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Condensed Consolidated Statements of Cash Flows (Unaudited) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net loss</a></td>
<td class="num">$ (4,968)<span></span>
</td>
<td class="num">$ (5,063)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net loss to net cash provided by (used in) operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">284<span></span>
</td>
<td class="nump">342<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment', window );">Loss on disposal of property and equipment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">11<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">1,484<span></span>
</td>
<td class="nump">1,485<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation</a></td>
<td class="nump">2,253<span></span>
</td>
<td class="nump">1,949<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred tax liability</a></td>
<td class="nump">19<span></span>
</td>
<td class="nump">7<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_AmortizationOfPrepaidAssets', window );">Amortization of prepaid assets</a></td>
<td class="nump">132<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_AccrualOfPropertyAndEquipment', window );">Accrual of property and equipment</a></td>
<td class="nump">22<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Trade accounts receivable</a></td>
<td class="num">(1,267)<span></span>
</td>
<td class="nump">115<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(740)<span></span>
</td>
<td class="num">(571)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">312<span></span>
</td>
<td class="nump">596<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherCurrentAssets', window );">Other assets</a></td>
<td class="nump">6<span></span>
</td>
<td class="nump">6<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(628)<span></span>
</td>
<td class="num">(877)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities', window );">Accrued compensation</a></td>
<td class="nump">379<span></span>
</td>
<td class="num">(880)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities', window );">Accrued liabilities and other</a></td>
<td class="nump">432<span></span>
</td>
<td class="nump">912<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_IncreaseDecreaseInLeaseLiabilities', window );">Lease liabilities</a></td>
<td class="num">(42)<span></span>
</td>
<td class="num">(36)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash used in operating activities</a></td>
<td class="num">(2,322)<span></span>
</td>
<td class="num">(2,004)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Purchases of property and equipment</a></td>
<td class="num">(150)<span></span>
</td>
<td class="num">(104)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(150)<span></span>
</td>
<td class="num">(104)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from at-the-market common stock offering, net of offering costs</a></td>
<td class="nump">3,006<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Payments for withholding taxes related to net share settlement of equity awards</a></td>
<td class="num">(95)<span></span>
</td>
<td class="num">(690)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromStockOptionsExercised', window );">Proceeds from employee stock purchase and option exercises</a></td>
<td class="nump">101<span></span>
</td>
<td class="nump">165<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="nump">3,012<span></span>
</td>
<td class="num">(525)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes on cash, cash equivalents and restricted cash</a></td>
<td class="num">(5)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase (decrease) in cash, cash equivalents and restricted cash</a></td>
<td class="nump">535<span></span>
</td>
<td class="num">(2,633)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash, cash equivalents, and restricted cash; beginning of period</a></td>
<td class="nump">7,976<span></span>
</td>
<td class="nump">12,078<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Cash, cash equivalents, and restricted cash; end of period</a></td>
<td class="nump">8,511<span></span>
</td>
<td class="nump">9,445<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalCashFlowInformationAbstract', window );"><strong>Supplemental disclosure of cash flow information:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaidNet', window );">Income taxes paid</a></td>
<td class="nump">38<span></span>
</td>
<td class="nump">64<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxRefundsDiscontinuedOperations', window );">Income taxes refunded</a></td>
<td class="nump">50<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Supplemental disclosure of non-cash investing and financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability', window );">Operating lease liabilities resulting from right-of-use assets</a></td>
<td class="nump">179<span></span>
</td>
<td class="nump">11<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid', window );">Accrual of property and equipment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">29<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock', window );">Accrued offering costs charged against proceeds from sale of common stock</a></td>
<td class="nump">10<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">8,416<span></span>
</td>
<td class="nump">9,270<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCash', window );">Restricted cash included in prepaid expenses and other current assets and other assets long term</a></td>
<td class="nump">95<span></span>
</td>
<td class="nump">175<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations', window );">Total cash, cash equivalents, and restricted cash</a></td>
<td class="nump">$ 8,511<span></span>
</td>
<td class="nump">$ 9,445<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_AccrualOfPropertyAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accrual of property and equipment</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_AccrualOfPropertyAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_AmortizationOfPrepaidAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amortization of prepaid assets</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_AmortizationOfPrepaidAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_IncreaseDecreaseInLeaseLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Increase Decrease In Lease Liabilities</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_IncreaseDecreaseInLeaseLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Offering Costs Charged Against Proceeds From Sale Of Common Stock</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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. Excludes amounts 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GainLossOnSaleOfPropertyPlantEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GainLossOnSaleOfPropertyPlantEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxRefundsDiscontinuedOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of cash received during the period as refunds for the overpayment of taxes from discontinued operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxRefundsDiscontinuedOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaidNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-23<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaidNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in accrued expenses, and obligations classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherCurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherCurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in right-of-use asset obtained in exchange for operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalCashFlowInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalCashFlowInformationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552591675488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Pay vs Performance Disclosure - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="4">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_PvpTable', window );"><strong>Pay vs Performance Disclosure</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">$ (2,513)<span></span>
</td>
<td class="num">$ (2,455)<span></span>
</td>
<td class="num">$ (2,205)<span></span>
</td>
<td class="num">$ (2,858)<span></span>
</td>
<td class="num">$ (4,968)<span></span>
</td>
<td class="num">$ (5,063)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_PvpTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection v<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_PvpTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552592745312">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_Rule10B51ArrModifiedFlag', window );">Rule 10b5-1 Arrangement Modified</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_NonRule10B51ArrModifiedFlag', window );">Non-Rule 10b5-1 Arrangement Modified</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_NonRule10B51ArrModifiedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Non Rule 10B51 Arr Modified Flag</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_NonRule10B51ArrModifiedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_Rule10B51ArrModifiedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Rule 10b51 Arr Modified Flag</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_Rule10B51ArrModifiedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552597829728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Description of Business and Basis of Presentation<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Organization, Consolidation and Presentation of Financial Statements [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock', window );">Description of Business and Basis of Presentation</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 1. Description of Business and Basis of Presentation</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Description of Business</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Airgain, Inc. was incorporated in the State of California on March 20, 1995; and reincorporated in the State of Delaware on August 17, 2016. Airgain, Inc. together with its subsidiaries are herein referred to as the &#8220;Company,&#8221; &#8220;we,&#8221; or &#8220;our.&#8221; The Company is a leading provider of connectivity solutions including embedded components, external antennas, and integrated systems that enable wireless networking in the consumer, enterprise, and automotive markets. The Company&#8217;s headquarters is in San Diego, California.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Basis of Presentation and Principles of Consolidation</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles (GAAP) and applicable rules and regulations of the Securities and Exchange Commission (SEC) regarding interim financial reporting. Certain information and note disclosures normally included in the consolidated financial statements prepared in accordance with GAAP have been condensed or omitted pursuant to such rules and regulations. Interim financial results are not necessarily indicative of results anticipated for the full year. As such, the information included in this quarterly report on Form 10-Q should be read in conjunction with the financial statements and accompanying notes included in the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">, from which the balance sheet information herein was derived. The unaudited Condensed Consolidated Financial Statements include the accounts of the Company and its wholly owned subsidiary. All intercompany transactions and investments have been eliminated in consolidation.</span></p></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Segment Information</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company&#8217;s operations are located primarily in the United States and most of its assets are located in San Diego, California and Plymouth, Minnesota.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company operates in one segment related to providing connectivity solutions &#8211; embedded components, external antennas, and integrated systems. The Company&#8217;s chief operating decision-maker is our chief executive officer, who reviews operating results on an aggregate consolidated basis for purposes of regularly making operating decisions, allocation of resources and assessing performance as a single operating segment.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Use of Estimates</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</span></p></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480424/946-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480424/946-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/810/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552592726256">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Summary of Significant Accounting Policies</a></td>
<td class="text"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 2. Summary of Significant Accounting Policies</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">During the six months ended June 30, 2024, there have been no material changes to the Company&#8217;s significant accounting policies as described in the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended December 31, 2023.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Trade Accounts Receivable</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">perform ongoing credit evaluations of our customers and assess each customer&#8217;s credit worthiness. The policy for determining when receivables are past due or delinquent is based on the contractual terms agreed upon. We monitor collections and payments from our customers and analyze for an allowance for credit losses. The allowance for credit losses is based upon applying an expected credit loss rate to receivables based on the historical loss rate and is adjusted for current conditions, including any specific customer collection issues identified, and economic conditions forecast. Delinquent account balances are written off after management has determined that the likelihood of collection is remote.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">An </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">allowance for doubtful accounts is established when, in the opinion of management, collection of the account is doubtful.</span></p></div><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Inventories</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">As of April 2022, all of the Company&#8217;s products are manufactured by third parties that retain ownership of the inventory until title is transferred to the customer at the shipping point. In some situations, the Company retains ownership of consigned inventories at third-party contract manufacturer (CM) locations due to actual or pending customers' orders. </span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">The Company recognized the consigned inventory as an asset in its financial statements</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. In certain instances, shipping terms are delivery-at-place and the Company is responsible for arranging transportation and delivery of goods ready for unloading at the named place. In those instances, the Company bears all risk involved in bringing the goods to the named place and records the related inventory in transit to the customer as inventory on the accompanying consolidated balance sheets. In the second quarter of 2022, we closed our facility located in Scottsdale, Arizona where certain of our products were previously manufactured.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Inventory is stated at the lower of cost or net realizable value. For items manufactured by our CMs, cost is determined using the weighted average cost method. For items manufactured by third parties, cost is determined using the first-in, first-out method (FIFO). Any adjustments to reduce the cost of inventories to their net realizable value are recognized in earnings in the current period. Write downs for excess and obsolete inventories are estimated based on product life cycles, quality issues, and historical experience.</span></p></div><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Property and Equipment</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Property and equipment are stated at cost and are depreciated using the straight-line method over the estimated useful lives of the assets, generally </span><span style="font-size:10pt;font-family:Arial;"><span style="-sec-ix-hidden:F_937bdce1-8050-4e4e-9c39-8107ba36c542;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">three</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">ten years</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. The estimated useful lives for leasehold improvements are determined as either the estimated useful life of the asset or the lease term, whichever is shorter. Repairs and maintenance are expensed as incurred. Property and equipment are reviewed for impairment whenever events or changes in circumstances indicate the carrying amount of an asset may not be recoverable. When assets are disposed of (or otherwise sold), the cost and related accumulated depreciation are removed from the accounts and any gain or loss on the disposal of property and equipment is classified as other expense (income) in the Company's consolidated statement of operations.</span></p></div><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Goodwill</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We account for our goodwill under the authoritative guidance ASC 250 for goodwill and other intangible assets and the provisions of ASU 2017-04, Simplifying the Test for Goodwill Impairment, which we early adopted in fiscal year 2020. Goodwill is not amortized but is tested for impairment annually as of December 31 or more frequently if events or changes in circumstances indicate that our goodwill might be impaired. Such circumstances may include, but not limited to (1) a decline in macro-economic conditions, (2) a significant decline in our financial performance or (3) a significant decline in the price of our common stock for a sustained period of time. We consider the aggregation of the relevant qualitative factors, and conclude whether it is more likely than not that the fair value of our reporting unit is less than the carrying value.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">If we conclude that it is more likely than not that the fair value of our reporting unit is less than the carrying value, we perform a quantitative impairment test. The quantitative impairment test compares the fair value of the reporting unit to its carrying amount, including goodwill. If the fair value of the reporting unit exceeds the carrying amount of the net assets assigned to that reporting unit, goodwill is not considered impaired. However, if the fair value of the reporting unit is lower than the carrying amount of the net assets assigned to the reporting unit, an impairment charge is recognized equal to the excess of the carrying amount over the fair value. The impairment charge is limited to the goodwill amount of the reporting unit.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Determining the fair value of a reporting unit is judgmental in nature and involves the use of significant estimates and assumptions. For the market approach of valuation, we may use the guideline public company method. Under this method we utilize information from comparable publicly traded companies with similar operating and investment characteristics as the reporting unit to derive an indication of value. For the income approach of valuation, we use a discounted cash flow methodology to derive an indication of value, which required management to make estimates and assumptions related to forecasted revenues, gross profit margins, operating income margins, working capital cash flow, income tax rates, EBITDA, perpetual growth rates, and long-term discount rates, among others. In addition, we make certain judgments and assumptions in determining our reporting unit. We base our fair value estimates on assumptions we believe to be reasonable but that are unpredictable and inherently uncertain. Actual future results may differ from those estimates.</span></p></div><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Intangibles</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company&#8217;s identifiable finite-lived intangible assets are comprised of acquired intangibles, developed technologies, customer relationships and non-compete agreements. The cost of the market-related intangible assets with finite lives is amortized on a straight-line basis over the assets&#8217; respective estimated useful lives.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We assess potential impairments to our intangible assets in accordance with the authoritative guidance for impairment or disposal of long-lived assets (ASC 360) when events or changes in circumstances indicate that the carrying value may not be recoverable. We assess the impairment of long-lived and intangible assets whenever events or changes in circumstances indicate that the carrying value may not be recoverable. As a first step, we consider factors, which may include the following, but are not limited to: (1) significant underperformance relative to historical or projected future operating results; (2) significant negative industry or economic trends; or (3) a significant decline in our stock price for a sustained period.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">If this assessment indicates that the carrying value of the assets may not be recoverable, the Company is required to perform the second step to test the asset group for recoverability. This recoverability test compares the future undiscounted cash flows expected from the use of the asset group to its carrying value. If the carrying value is more than the undiscounted future cash flows, the Company is required perform a third step to determine the fair value of the asset group and compare fair value against the carrying value. Any excess carrying value over the fair value needs to be recognized as an impairment loss.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Determining the recoverability of long-lived or intangible assets is judgmental in nature and involves the use of significant estimates and assumptions. These estimates and assumptions include revenue growth rates and operating margins used to calculate projected future cash flows and the future market value of our asset group. In addition, we make certain judgments and assumptions in determining our asset group. We base our recoverability estimates on assumptions we believe to be reasonable but that are unpredictable and inherently uncertain. Actual future results may differ from those estimates.</span></p></div><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Revenue Recognition</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Under ASC Topic 606 &#8220;Revenue from Contracts with Customers&#8221;, the Company recognize revenue when, or as the control of the promised goods or services is transferred to the customers in an amount that reflects the consideration the Company expects to be entitled in exchange for those goods or services. In applying this core principle, the Company performs the following five-steps only when it is probable that substantially all of the consideration that it will be entitled in exchange for the goods or services that will be transferred to the customer:</span></p><p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(i) identify the contract(s) with the customer,</span></p><p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(ii) identify the performance obligations in the contract,</span></p><p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(iii) determine the transaction price,</span></p><p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(iv) allocate the transaction price to the performance obligation(s) in the contract and</span></p><p style="margin-left:6.667%;text-indent:-4.478%;padding-left:4%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(v) recognize revenue when or as the entity satisfies performance obligations. A performance obligation is at a point in time, except if it meets any of the three criteria, which will require recognition of revenue over time:</span></p><div class="item-list-element-wrapper" style="margin-left:11.194%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.108889039028894%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">the customer simultaneously receives and consumes the benefit provided by the entity&#8217;s performance as the entity performs,</span></div></div><div class="item-list-element-wrapper" style="margin-left:11.194%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.108889039028894%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">the entity&#8217;s performance creates or enhances an asset (for example, work in process) that the customer controls as the asset is created or enhanced, and</span></div></div><div class="item-list-element-wrapper" style="margin-left:11.194%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.108889039028894%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">the entity's performance does not create an asset with an alternative use to the entity and the entity has an enforceable right to payment for performance completed to date.</span></div></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Most of the Company's revenue is generated from product sales and the revenue is recognized at a point-in-time when control is transferred to the customer. Each purchase order, along with existing customer agreements, when applicable, represents a contract from a customer and each product sold represents a distinct performance obligation. Revenue is recognized when control is transferred to the customer at a point in time either when the product is shipped to or received by the customer, based on the terms of the specific agreement with the customer, and the Company has an enforceable right to payment for the product. The Company allocates the transaction price, which is generally the quoted price per terms of the contract and the consideration the Company expects to receive, to each performance obligation. The Company offers return rights and/or pricing credits under certain circumstances. We estimate product returns based on historical sales and return trends and record against revenue and corresponding refund liability.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">A portion of the Company's revenue is recognized over time, including: data subscription, test services or custom design services. Revenue from data subscription plans relate to purchased asset trackers with activated data lines, through a third-party service provider. Data subscription plan revenues are recognized monthly based on the fee stated in the contract, as the customer is simultaneously receiving and consuming the benefits provided throughout the Company's monthly performance obligation. Test service revenues are recognized monthly based on the fee stated in the contract for obligations over time on assets that the customer controls. Design service fees are paid in advance; the prepayments are deferred revenues and are recorded as contract liabilities. Most of the design service fees are recognized based on the Company's achievement of milestones. The Company's performance for the design services does not create an asset with an alternative use to the Company and the Company has an enforceable right to payment for performance completed to date. We recognize from the contract liabilities as milestones are achieved over service periods ranging from </span><span style="font-size:10pt;font-family:Arial;"><span style="-sec-ix-hidden:F_cf1b385b-7ee7-4c17-8624-172917d1a479;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">three</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> (3) to </span><span style="font-size:10pt;font-family:Arial;"><span style="-sec-ix-hidden:F_008c8ceb-a1b6-4dd4-80ba-6aa77eae877c;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">eighteen</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> (18) months.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company's contracts with customers do not typically include extended payment terms. Payment terms may vary by contract and type of customer and generally range from </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">90</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> days from delivery.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company provides assurance-type warranties on all product sales ranging from one to two years. The estimated warranty costs are accrued for at the time of sale based on historical warranty experience plus any known or expected changes in warranty exposure.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company has opted to not disclose the portion of revenues allocated to partially unsatisfied performance obligations, which represent products to be shipped within 12 months under open customer purchase orders, at the end of the current reporting period as allowed under ASC 606. The Company has also elected to record sales commissions when incurred, pursuant to the practical expedient under ASC 340, Other Assets and Deferred Costs, as the period over which the sales commission asset that would have been recognized is less than one year.</span></p></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Shipping and Transportation Costs</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Shipping and other transportation costs expensed as incurred were </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> for each of the three months ended June 30, 2024 and 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. These costs are included in sales and marketing expenses in the accompanying consolidated statements of operations.</span></p></div><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Research and Development Costs</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Research and development costs are expensed as incurred.</span></p></div><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Advertising Costs</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Advertising costs are expensed as incurred. These costs are included in sales and marketing expenses in the accompanying consolidated statements of operations.</span></p></div><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Income Taxes</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company records income taxes under the asset and liability method. Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statements 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 income in the period that includes the enactment date. When applicable a valuation allowance is established to reduce any deferred tax asset when we determine that it is more likely than not that some portion of the deferred tax asset will not be realized.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company recognizes the effect of income tax positions only if those positions are more likely than not of being sustained. Recognized income tax positions are measured at the largest amount that is greater than 50% likely of being realized. Changes in recognition or measurement are reflected in the period in which the change in judgment occurs. The Company records interest related to unrecognized tax benefits in interest expense and penalties in general and administrative expenses.</span></p></div><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Stock-Based Compensation</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We recognize compensation costs related to stock options and restricted stock units granted to employees and directors based on the estimated fair value of the awards on the date of grant. We estimate the option grant fair values, and the resulting stock-based compensation expense, using the Black-Scholes option-pricing model. The grant date fair value of</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">stock-based awards are expensed on a straight-line basis over the requisite service period of the entire reward. The Company recognizes forfeitures when incurred.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The assumptions used in the Black-Scholes option-pricing model are as follows:</span></p><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Fair value of our common stock. The Company&#8217;s common stock is valued by reference to the publicly traded price of our common stock.</span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Expected term. The expected term represents the period of time stock-based awards are expected to be outstanding.</span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Expected weighted average volatility. Beginning 2022, we estimated expected volatility using solely our historical share price volatilities.</span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Risk-free interest rate. The risk-free interest rate is based on the U.S. Treasury yield in effect at the time of grant for zero coupon U.S. Treasury notes with maturities approximately equal to the expected term.</span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Expected dividend. The expected dividend is assumed to be zero as the Company has never paid dividends and have no current plans to pay any dividends.</span></div></div></div><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Fair Value Measurements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The carrying values of the Company&#8217;s financial instruments, including cash, trade accounts receivable, accounts payable, accrued liabilities and deferred purchase price obligations approximate their fair values due to the short maturity of these instruments.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Fair value measurements are market-based measurements, not entity-specific measurements. Therefore, fair value measurements are determined based on the assumptions that market participants would use in pricing the asset or liability. The Company follows a three-level hierarchy to prioritize the inputs used in the valuation techniques to derive fair values. The basis for fair value measurements for each level within the hierarchy is described below:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Level 1: Quoted prices in active markets for identical assets or liabilities. </span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Level 2: Quoted prices for similar assets or liabilities in active markets; quoted prices for identical or similar instruments in markets that are not active; and model-derived valuations in which all significant inputs are observable in active markets. </span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Level 3: Valuations derived from valuation techniques in which one or more significant inputs are unobservable in active markets.</span></div></div></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Recently Adopted Accounting Pronouncements</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">None.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Recently Issued Accounting Pronouncements</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In November 2023, the FASB issued ASU 2023-07, &#8220;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#8221; ASU No. 2023-07 require that a public entity disclose, on an annual and interim basis, significant segment expenses that are regularly provided to an entity's chief operating decision maker (CODM), amounts and descriptions of other reportable segments, and any additional measures of a segment's profit or loss used by the CODM when deciding how to allocate resources. The ASU is applicable to entities with a single reportable segment. This ASU is effective for fiscal years beginning after December 15, 2023, and for interim periods within fiscal years beginning after December 15, 2024. Early adoption is permitted. The ASU should be applied retrospectively to all prior periods presented in the financial statements. The Company will evaluate the ASU to determine its impact on the Company&#8217;s disclosures. The Company does not expect adoption to have a material impact on its consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In December 2023, the FASB issued ASU 2023-09, "Income Taxes (Topic 740): Improvements to Income Tax Disclosures.". ASU No. 2023-09 requires expanded disaggregated information about a reporting entity&#8217;s effective tax rate reconciliation as well as disclosure of income taxes paid by jurisdiction. The amendments in ASU are effective for fiscal years beginning after December 15, 2024 with early adoption permitted. Retrospective application of the amendments are permitted. The Company will evaluate the ASU to determine its impact on the Company&#8217;s disclosures. As the amendments apply to income tax disclosures only, the Company does not expect adoption to have a material impact on its consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In March 2024, the FASB issued ASU 2024-02, "Codification Improvements&#8212;Amendments to Remove References to the Concepts Statements." ASU No. 2024-02 removes various references to concepts statements from the FASB Accounting</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Standards Codification. The ASU indicates that the goal of the amendments is to simplify the Codification and distinguish between non-authoritative and authoritative guidance since, unlike the Codification, the concepts statements are non-authoritative. The amendments in ASU are effective for fiscal years beginning after December 15, 2024 with early adoption permitted. Retrospective application of the amendments are permitted. The Company will evaluate the ASU to determine its impact on the Company&#8217;s disclosures. The Company does not expect adoption to have a material impact on its consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We have assessed all other ASUs issued but not yet adopted and concluded that those not disclosed are not relevant to the Company or are not expected to have a material impact.</span></p></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552592739296">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Loss Per Share<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Net Loss Per Share</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 3. Net Loss Per Share</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Basic net loss per share is calculated by dividing net loss available to common stockholders by the weighted average shares of common stock outstanding for the period. Diluted net loss per share is calculated by dividing net loss by the weighted average shares of common stock outstanding for the period plus amounts representing the dilutive effect of securities that are convertible into common stock. The Company calculates diluted loss per common share using the treasury stock method.</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table presents the computation of net loss per share (in thousands except per share data)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:43.509%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.562%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.562%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.562%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.562%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Numerator:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net loss</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,513</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,205</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,968</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,063</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Denominator:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Basic weighted average common shares outstanding</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,938</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,413</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,736</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,340</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Plus dilutive effect of potential common shares</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Diluted weighted average common shares outstanding</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,938</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,413</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,736</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,340</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Net loss per share:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Basic</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.23</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.21</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.46</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.49</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Diluted</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.23</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.21</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.46</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.49</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Potentially dilutive securities (in common stock equivalent shares) not included in the calculation of diluted net loss per share because to do so would be anti-dilutive are as follow</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">s (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:43.509%;"></td>
        <td style="width:1.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.962%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.962%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.962%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.962%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Stock options, restricted stock and performance stock</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,387</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,413</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,443</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,369</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock equivalent shares</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,387</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,413</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,443</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,369</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552592728640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash and Cash Equivalents<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>Cash and Cash Equivalents [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock', window );">Cash and Cash Equivalents</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 4. Cash and Cash Equivalents</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following tables show the Company&#8217;s cash and cash equivalents by significant investment category </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:55.151%;"></td>
        <td style="width:2.3%;"></td>
        <td style="width:1%;"></td>
        <td style="width:18.124%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.3%;"></td>
        <td style="width:1%;"></td>
        <td style="width:18.124%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cash</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,316</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,581</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Level 1:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Money market funds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">300</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,416</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,881</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Restricted Cash</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">As of June 30, 2024 and December 31, 2023, the Company had </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">95,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> in cash on deposit to secure certain lease commitments; </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">40,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> of which is short-term in nature and recorded in prepaid expenses and other current assets and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">55,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> of which is restricted for more than twelve months and recorded in other assets in the Company&#8217;s consolidated balance sheet.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of the components of cash, cash equivalents, and short-term investments. Short-term investments may include current marketable securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 320<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/320/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552775188896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventory<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventory</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 5. Inventory</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Inventories are comprised of the following (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49.34%;"></td>
        <td style="width:6.28%;"></td>
        <td style="width:1%;"></td>
        <td style="width:19.22%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.84%;"></td>
        <td style="width:1%;"></td>
        <td style="width:19.32%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Raw materials</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">487</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">661</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Finished goods</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,657</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,742</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total Inventory</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,144</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,403</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Consigned inventories, which are included in total inventories, are comprised of the following (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49.46%;"></td>
        <td style="width:6.04%;"></td>
        <td style="width:1%;"></td>
        <td style="width:19.4%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.72%;"></td>
        <td style="width:1%;"></td>
        <td style="width:19.38%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Raw materials</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">459</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">558</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Finished goods</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,508</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">598</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total Consigned Inventory</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,967</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,156</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552591675792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock', window );">Property and Equipment</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 6. Property and Equipment</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Depreciation and amortization of property and equipment is calculated on the straight-line method based on the shorter of the estimated useful life or the term of the lease for tenant improvements and three to ten years for all other property and equipment. </span><span style="font-size:10pt;font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Property and equipment consist of the following (in thousands)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">:</span></span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:61%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:16.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.88%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Manufacturing and testing equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,507</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,371</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Leasehold improvements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">848</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">848</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Computers and software</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">550</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">811</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Furniture, fixtures, and equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">427</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">427</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Vehicles</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">55</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">55</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Construction in process</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">45</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Property and equipment, gross</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,417</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,557</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Less accumulated depreciation</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,050</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Property and equipment, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,220</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,507</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Depreciation expense was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million for the three months ended June 30, 2024 and 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">, respectively.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for intangible assets and long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense, including composite depreciation, accumulated depreciation, depletion and amortization expense, useful lives and method used, income statement disclosures, assets held for sale and public utility disclosures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/360/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552592495072">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets and Goodwill<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract', window );"><strong>Intangible Assets, Net (Excluding Goodwill) [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock', window );">Intangible Assets and Goodwill</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 7. Intangible Assets and Goodwill</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Other Intangible Assets</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following is a summary of the Company&#8217;s acquired other</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> intangible assets (dollars in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:29.7%;"></td>
        <td style="width:2%;"></td>
        <td style="width:17.32%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.76%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.1%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="12" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Weighted average amortization period (in years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Gross carrying amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Accumulated amortization</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Net carrying amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Market related intangibles</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,820</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,304</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">516</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,780</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,130</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,650</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Developed technologies</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,380</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,795</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,585</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Covenants to non-compete</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">115</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">115</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total intangible assets, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">20,095</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,344</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,751</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:31%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.34%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.66%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="12" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Weighted average amortization period (in years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Gross carrying amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Accumulated amortization</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Net carrying amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Market related intangibles</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,820</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,135</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">685</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,780</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,993</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,787</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Developed technologies</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,380</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,618</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,762</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Covenants to non-compete</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">115</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">115</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total intangible assets, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">20,095</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">11,861</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,234</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Amortization expense was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> for each of the three months ended June 30, 2024 and 2023.</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Estimated annual amortization of intangible assets for the next five years and thereafter is shown in the foll</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">owing table (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.22%;"></td>
        <td style="width:3.1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:30.68%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Estimated future amortization</span></p></td>
        <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2024 (remaining six months)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,484</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2025</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,958</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2026</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">557</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2027</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">356</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Thereafter</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,396</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,751</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Actual amortization expense to be reported in future periods could differ from these estimates as a result of acquisitions, divestitures, and asset impairments, among other factors.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">No</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> impairment losses were recorded against the other intangibles during each of the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">three months ended June 30, 2024 and 2023.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">During the fourth quarter of 2023 and second quarter of 2024, the Company determined that there were no triggering events or circumstances to indicate that the carrying value of the finite-lived asset group may not be recoverable. Based on the assessment performed, we concluded that an impairment charge to finite-lived intangible assets was not required as of December 31, 2023 and June 30, 2024 and the useful lives remain appropriate.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Goodwill</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">No</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> impairment losses were recorded against the goodwill during the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">three months ended June 30, 2024 and 2023.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">During the fourth quarter of 2023 and second quarter of 2024, the Company's current and expected cash flows, and the macro-economic and industry conditions have not significantly changed, while the Company&#8217;s market capitalization materially increased since December 31, 2023. After assessing the totality of events or circumstances, the Company determined that there were no events or circumstances in the fourth quarter of 2023 and second quarter of 2024 that indicated that the fair value of a reporting unit is more likely than not less than its carrying amount. Therefore, an impairment charge to goodwill was not required as of December 31, 2023 and June 30, 2024.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Certain future events and circumstances could result in changes to our assumptions and judgments used in the impairment tests. A downward revision of these assumptions could cause the total fair value of our goodwill and intangible assets to fall below carrying values and a non-cash impairment charge would be required. Such a charge may have a material effect on the consolidated financial statements.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552593680448">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Liabilities and Other<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PayablesAndAccrualsAbstract', window );"><strong>Payables and Accruals [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock', window );">Accrued Liabilities and Other</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">No</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">t</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">e 8. Accrued Liabilities and Other</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Accrued liabilities and other is comprised of the follo</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">wing (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:55.32%;"></td>
        <td style="width:1.14%;"></td>
        <td style="width:1%;"></td>
        <td style="width:16.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.14%;"></td>
        <td style="width:1%;"></td>
        <td style="width:21.58%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued expenses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,150</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,031</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">VAT payable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">339</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued income taxes</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">38</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">145</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Advanced payments from contract manufacturers</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Contract liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">17</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Goods received not invoiced</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">883</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">185</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Other current liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">186</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">209</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued liabilities and other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,287</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,926</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 720<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483384/720-30-45-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PayablesAndAccrualsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PayablesAndAccrualsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552594439040">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 9. Leases</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Operating Leases</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company made certain assumptions and judgments when applying ASC 842 and it elected not to recognize right-of-use assets and lease liabilities for short-term leases (lease terms of twelve months or less).</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Operating lease arrangements primarily consist of office, warehouse and test house leases expiring during different years through </span><span style="font-size:10pt;font-family:Arial;"><span style="-sec-ix-hidden:F_c9121012-3123-46d1-bae5-a4da06668ebe;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">2025</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. The facility leases have original terms of approximately </span><span style="font-size:10pt;font-family:Arial;"><span style="-sec-ix-hidden:F_cc054951-6da5-4631-b3a8-345e431eada7;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">one </span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">to </span><span style="font-size:10pt;font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">five years</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> and may contain options to extend up to </span><span style="font-size:10pt;font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">5 years</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> and/or terminate early. Options to extend are included in leased right-of-use assets and lease liabilities in the consolidated balance sheet when we are reasonably certain to renew a lease. Since the implicit rate of such leases is unknown and we may not be reasonably certain to renew leases, the Company elected to apply a collateralized incremental borrowing rate to facility leases on the original lease term in calculating the present value of future lease payments. As of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">June 30, 2024 and December 31, 2023, the weighted average discount rate for operating leases were </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> and </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">, respectively. As of June 30, 2024 and December 31, 2023, the weighted average remaining lease term for operating leases was </span><span style="font-size:10pt;font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">1.4</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> years and </span><span style="font-size:10pt;font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">1.8</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">years, respectiv</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">ely.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company has entered into various short-term operating leases, primarily for test houses and office equipment with initial terms of 12 months or less. These short-term leases are not recorded on the Company&#8217;s consolidated balance sheet, and the related short-term lease expense was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">27,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">, for the three months ended June 30, 2024 and 2023, respectively. Total operating lease cost was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million for each of the three months ended June 30, 2024 and 2023.</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The table below presents aggregate future minimum payments due under leases, reconciled to lease liabilities included in the consolidated balance sheet as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">June 30, 2024 (in thousands):</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.233%;"></td>
        <td style="width:6.641%;"></td>
        <td style="width:1%;"></td>
        <td style="width:25.125%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Estimated future lease obligation</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2024 (remaining six months)</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">471</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2025</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">785</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2026</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">36</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total minimum payments</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,292</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Less imputed interest</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">39</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Less unrealized translation gain</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total lease liabilities</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,251</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Less short-term lease liabilities</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">881</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Long-term lease liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">370</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552593037424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 10. Income Taxes</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company&#8217;s effective income tax rate was </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">-</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> for the six months ended June 30, 2024 and 2023, respectively. The variance from the U.S. federal statutory rate of </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">21.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">%</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> for the six months ended June 30, 2024 was primarily attributable to the utilization of deferred tax attributes that had a full valuation allowance.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Management assesses its deferred tax assets quarterly to determine whether all or any portion of the asset is more likely than not unrealizable under Accounting Standards Codification (ASC) Topic 740. The Company is required to establish a valuation allowance for any portion of the asset that management concludes is more likely than not to be unrealizable.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible. The Company&#8217;s assessment considers all evidence, both positive and negative, including the nature, frequency and severity of any current and cumulative losses, taxable income in carryback years, the scheduled reversal of deferred tax liabilities, tax planning strategies, and projected future taxable income in making this assessment.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">As of December 31, 2023, the Company had a valuation allowance against net deferred tax assets of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;">14.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million, however, the exclusion of a deferred tax liability generated by goodwill (an indefinite lived intangible) may not be considered a future source of taxable income in evaluating the need for a valuation allowance.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477891/740-270-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/740/tableOfContent<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-14<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-21<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552593050784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockDisclosuresAbstract', window );"><strong>Class of Stock Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock', window );">Stockholders' Equity</a></td>
<td class="text"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 11. Stockholders&#8217; Equity</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In August 2016, the Company's Board adopted the 2016 Equity Incentive Plan (the 2016 Plan) for employees, directors and consultants. In February 2021, the Board adopted the 2021 Employment Inducement Incentive Award Plan (Inducement Plan), which provides for grants of equity-based awards.</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table presents common stock reserved for </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">future issuance</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Arial;min-width:fit-content;">(1)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:60%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Stock options issued and outstanding</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,482</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,104</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Stock awards issued and outstanding</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,041</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">817</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Authorized for grants under the 2016 Plan</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;">(2)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">69</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">448</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Authorized for grants under the Inducement Plan</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;">(3)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">183</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">174</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Authorized for grants under the 2016 Employee Stock Purchase Plan</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;">(4)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">517</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">540</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,292</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,083</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(1)</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> The table above excludes </span><span style="font-size:8pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">541,000</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> treasury stock shares as of June 30, 2024 and December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> </span></p><p style="text-indent:-2.74%;padding-left:2.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(2)</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> On January 1, 2024, the number of authorized shares in the 2016 Plan increased by </span><span style="font-size:8pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;">440,000</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> shares pursuant to the evergreen provisions of the 2016 Plan.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> </span></p><p style="text-indent:-1.351%;padding-left:1.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(3)</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> On February 5, 2021, </span><span style="font-size:8pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">300,000</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> shares were authorized pursuant to the terms of the Inducement Plan.</span></p><p style="text-indent:-2.74%;padding-left:2.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(4) </span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">On January 1, 2024, the number of authorized shares in the 2016 Employee Stock Purchase Plan increased by </span><span style="font-size:8pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;">100,000</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> sh</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">ares pursuant to the evergreen provisions of the 2016 Employee Stock Purchase Plan.</span></p></div><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Issuance of Common Stock</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In March 2024, we established an at-the-market (ATM) offering program to sell up to </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.0</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> of the Company's common stock. As of June 30, 2024, we have </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.7</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> available under the offering program for future sales of our common stock.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company recorded the ATM gross sales proceeds and offering costs in additional paid-in capital of the consolidated balance sheet. </span><span style="font-size:10pt;font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table summarizes the Company</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;s ATM sales activity during the period indicated (in thousands):</span></span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49%;"></td>
        <td style="width:7%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.74%;"></td>
        <td style="width:1%;"></td>
        <td style="width:6.66%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.6%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three Months Ended June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six Months Ended June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Shares issued</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">505</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">629</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Gross proceeds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,630</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,309</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net proceeds after offering costs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,518</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,006</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfStockDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityNoteDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477968/946-235-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-6<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480237/815-40-50-6<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(e)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/505/tableOfContent<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 16<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-16<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityNoteDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552775175344">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Based Compensation<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Stock Based Compensation</a></td>
<td class="text"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 12</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">. Stock Based Compensation</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Stock-Based Compensation Expense</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Stock-based compensation is recorded in the consolidated statements of operations as fol</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">lows (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:36.9%;"></td>
        <td style="width:1.72%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.66%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.72%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.72%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.82%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cost of goods sold</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">65</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">29</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">123</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">44</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Research and development</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">400</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">280</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">728</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">517</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Sales and marketing</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">75</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">115</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">155</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">276</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">General and administrative</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">667</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">544</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,247</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,112</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total stock-based compensation expense</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,207</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">968</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,253</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,949</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Stock Options</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table summarizes the outstanding stock option activity during the period indi</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">cated (shares in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:40.2%;"></td>
        <td style="width:1.86%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.76%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.7%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.34%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.76%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.219999999999999%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Weighted average</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Number of <br/>stock options</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Exercise <br/>price</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Remaining contractual term (in years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Aggregate intrinsic value (in thousands)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,104</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10.20</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.2</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">329</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Granted</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">408</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.07</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Exercised</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.10</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">18</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Expired/Forfeited</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">22</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.28</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,482</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">9.40</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.4</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,552</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Vested and exercisable at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,639</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.12</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.0</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">657</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Vested and expected to vest at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,482</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">9.40</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.4</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,552</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The weighted average grant date fair value of options granted during the six months ended June 30, 2024 was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.82</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. The grant-date fair value of each option award is estimated on the date of grant using the Black-Scholes-Merton option-pricing model. For stock options vested and expected to vest, the aggregate intrinsic value as of June 30, 2024 was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.6</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">At June 30, 2024, there was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million of unrecognized compensation cost related to unvested stock options granted under the Company&#8217;s equity plans that is expected to be recognized over the next </span><span style="font-size:10pt;font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">2.5</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> years.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Restricted Stock</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table summarizes the Company</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;s restricted stock unit (RSU) activity during the period indicated (shares in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:68%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Restricted <br/>stock units</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Weighted average grant date fair value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">706</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.97</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Grants</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">484</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.14</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Vested and released</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">196</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.83</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Forfeited</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">64</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.77</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">930</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.92</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">As of June 30, 2024, there was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million of total unrecognized compensation cost related to unvested RSUs having a weighted average remaining contractual term of </span><span style="font-size:10pt;font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">2.8</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> years.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Performance Stock Units</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table summarizes the Company</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;s performance stock unit (PSU) activity during the period indicated (shares in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.48%;"></td>
        <td style="width:1.46%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.8%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.94%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.32%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Performance<br/>stock units</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Weighted average grant date fair value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">110</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.79</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Grants</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Vested and released</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Forfeited</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">110</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.79</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-size:10pt;font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Service as well as market and performance conditions determine the number of PSUs that the holder will earn from 0% to 150% of the target number of shares. The per</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">centage received is based on the Company common stock price targets over a three-year service period. Additionally, the Company must achieve or exceed 75% of the year to date revenue target measured at the end of the quarter in which the price target is achieved.</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> As of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">June 30, 2024, there was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,693</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> of total unrecognized compensation cost related to unvested PSUs, having a weighted average remaining contractual term of </span><span style="font-size:10pt;font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">0.8</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> years.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We estimate the fair value of PSUs with a market condition using a Monte Carlo simulation model as of the date of grant using historical volatility.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Share-Settled Obligations</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">When incurred, share-settled obligations to non-employees that will be paid in restricted stock units are recorded as accrued expense liability and stock-based compensation expense.</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table summarizes the Company</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;s share-settled obligation RSU grants, which immediately vested during the period indicated:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:33.987%;"></td>
        <td style="width:5.001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.763%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.4%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.502%;"></td>
        <td style="width:1%;"></td>
        <td style="width:6.101%;"></td>
        <td style="width:1%;"></td>
        <td style="width:6.941%;"></td>
        <td style="width:1%;"></td>
        <td style="width:8.782%;"></td>
        <td style="width:1%;"></td>
        <td style="width:6.521%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">RSU grants that settled obligations (in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Grant date fair value</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">70.9</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">195.4</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">949.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">RSU shares granted and vested</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">14</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">45</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">187</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Employee Stock Purchase Plan (ESPP)</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company maintains the 2016 Employee Stock Purchase Plan (ESPP) that provides employees an opportunity to purchase common stock through payroll deductions. The ESPP is implemented through consecutive </span><span style="font-size:10pt;font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">6</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">-month offering periods commencing on March 1 and September 1 of each year. The purchase price is set at </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">85</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">% of the fair market value of the Company</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">s common stock on either the first or last trading day of the offering period, whichever is lower. Annual contributions are limited to the lower of </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">% of an employee</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;s eligible compensation or such other limits as apply under Section 423 of the Internal Revenue Code. The ESPP is intended to qualify as an employee stock purchase plan for purposes of Section 423 of the Internal Revenue Code.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Based on the </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">15</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">% discount and the fair value of the option feature of the ESPP, it is considered compensatory. Compensation expense is calculated using the fair value of the employees&#8217; purchase rights under the Black-Scholes model. The Company currently uses authorized and unissued shares to satisfy share award exercises.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">During the three months ended June 30, 2024</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">, the Company did </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">no</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">t issue</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> shares under the ESPP. During the six months ended June 30, 2024, the Company received </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million from the issuance of </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">22,852</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> shares under the ESPP</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552591675488">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Commitments and Contingencies</a></td>
<td class="text"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 13. Commitments and Contingencies</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Non-Recurring Severance and Exit Costs</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The non-recurring workforce reduction severance liability is recorded in accrued compensation on the accompanying unaudited condensed consolidated balance sheet. The severance and exit cost were recorded in the relevant operating expense departments in the accompanying unaudited condensed consolidated statement of operations.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table presents activity that we recorded related to severance and exit costs:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.74%;"></td>
        <td style="width:17%;"></td>
        <td style="width:1%;"></td>
        <td style="width:23.26%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Severance and Exit Costs</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(In thousands)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">50</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued to expense</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Payments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">50</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at March 31, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued to expense</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Payments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="text-indent:14pt;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:11pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Potential Product Warranty Claims</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company had a general warranty accrual of approximately </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">million as of each of June 30, 2024 and December 31, 2023.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Indemnification</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In some agreements to which the Company is a party, the Company has agreed to indemnify the other party for certain matters, including, but not limited to, product liability and intellectual property. To date, we have not recorded any material liabilities in the accompanying consolidated financial statements.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 405<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/405-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/450/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478522/954-440-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552592763728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Concentrations<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RisksAndUncertaintiesAbstract', window );"><strong>Risks and Uncertainties [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskDisclosureTextBlock', window );">Concentration</a></td>
<td class="text"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 14. Concentrations</span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Concentration of Sales and Accounts Receivable</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following represents customers that accounted for </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">% or more of total revenue:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:32.213%;"></td>
        <td style="width:1.461%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.187%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.461%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.506%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.461%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.125%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.461%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.125%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer A</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">24</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">9</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">12</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer B</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">6</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">17</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">7</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following represents customers that accounted for </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">% or more of total trade accounts receivable:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:46.809%;"></td>
        <td style="width:2.3%;"></td>
        <td style="width:1%;"></td>
        <td style="width:22.784%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.3%;"></td>
        <td style="width:1%;"></td>
        <td style="width:21.804%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer A</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">27</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">17</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer B</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">14</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">14</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
       </tr>
      </table></div><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The allowance for credit losses as of June 30, 2024 and December 31, 2023 was not material.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Concentration of Purchases</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">During the six months ended June 30, 2024, the Company&#8217;s products were manufactured by six CMs with locations in China, Vietnam, Mexico, and the United States.</span></p><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Concentration of Cash</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company&#8217;s cash deposits exceeded the Federal Deposit Insurance Corporation&#8217;s insured limits. The Company has not experienced losses on these accounts. Most of the Company's deposits are in several accounts at a large institutional bank.</span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Concentration of Property and Equipment</span></p><div style="font-size:10pt;font-family:Arial;"><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company&#8217;s property and equipment, net by geographic region, are as follows (in thousands):</span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49.8%;"></td>
        <td style="width:2.48%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.72%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.48%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.52%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">North America</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,038</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,295</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Asia Pacific (APAC)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">71</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">86</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Europe, Middle East and Africa (EMEA)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">111</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">126</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Property and equipment, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,220</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,507</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/275/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RisksAndUncertaintiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RisksAndUncertaintiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552592749616">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue</a></td>
<td class="text"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 15. Revenue</span></p><div style="font-size:10pt;font-family:Arial;"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Disaggregated revenues are as fo</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">llows (in thousands):</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:38.98%;"></td>
        <td style="width:8.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.34%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.72%;"></td>
        <td style="width:1%;"></td>
        <td style="width:7.8999999999999995%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.72%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.459999999999999%;"></td>
        <td style="width:1%;"></td>
        <td style="width:3.2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:7.8999999999999995%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">By Market Group:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Enterprise</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,615</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,366</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">17,494</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,803</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Consumer</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,827</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,189</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,338</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">11,321</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Automotive</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,742</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,275</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,583</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,150</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total sales</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,184</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,830</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">29,415</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,274</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">By Geography:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">North America</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,337</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,438</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">19,361</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">19,606</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">China (including Hong Kong and Taiwan)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,397</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,059</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,700</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,028</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Rest of the world</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">450</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">333</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,354</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">640</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total sales</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,184</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,830</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">29,415</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,274</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Timing of revenue recognition:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Products and services transferred at a point in time</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,507</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,795</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">28,032</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,639</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Products and services transferred over time</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">677</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,035</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,383</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,635</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total sales</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,184</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,830</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">29,415</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,274</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Revenue generated from the United States was </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;">9.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;">9.4</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million for the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">three months ended June 30, 2024 and 2023, respectively, and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">19.3</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;">19.5</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million for the </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">six months ended June 30, 2024 and 2023, respectively.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Liability for potential rights of return was approximately </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million as of June 30, 2024 and December 31, 2023 and is included within accrued liabilities in the accompanying unaudited condensed consolidated balance sheets.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Contract liabilities are deferred revenues that were recorded when advance payment were received for remaining performance obligations that are recognized over time. The contract liabilities were </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,200</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> and </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;">17,000</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">as of June 30, 2024 and December 31, 2023, respectively.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The remaining non-cancellable revenue, that will be recognized over time on a series of distinct performance obligations, amounts to </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.2</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> as of June 30, 2024</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-15<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org/606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552775188240">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent Events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent Event</a></td>
<td class="text"><p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;">Note 16. Subsequent Events</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">None.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552594217216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Accounting Policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_DescriptionOfBusinessPolicyTextBlock', window );">Description of Business</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Description of Business</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Airgain, Inc. was incorporated in the State of California on March 20, 1995; and reincorporated in the State of Delaware on August 17, 2016. Airgain, Inc. together with its subsidiaries are herein referred to as the &#8220;Company,&#8221; &#8220;we,&#8221; or &#8220;our.&#8221; The Company is a leading provider of connectivity solutions including embedded components, external antennas, and integrated systems that enable wireless networking in the consumer, enterprise, and automotive markets. The Company&#8217;s headquarters is in San Diego, California.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock', window );">Basis of Presentation and Principles of Consolidation</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Basis of Presentation and Principles of Consolidation</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles (GAAP) and applicable rules and regulations of the Securities and Exchange Commission (SEC) regarding interim financial reporting. Certain information and note disclosures normally included in the consolidated financial statements prepared in accordance with GAAP have been condensed or omitted pursuant to such rules and regulations. Interim financial results are not necessarily indicative of results anticipated for the full year. As such, the information included in this quarterly report on Form 10-Q should be read in conjunction with the financial statements and accompanying notes included in the Company&#8217;s Annual Report on Form 10-K for the fiscal year ended December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">, from which the balance sheet information herein was derived. The unaudited Condensed Consolidated Financial Statements include the accounts of the Company and its wholly owned subsidiary. All intercompany transactions and investments have been eliminated in consolidation.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingPolicyPolicyTextBlock', window );">Segment Information</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Segment Information</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company&#8217;s operations are located primarily in the United States and most of its assets are located in San Diego, California and Plymouth, Minnesota.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company operates in one segment related to providing connectivity solutions &#8211; embedded components, external antennas, and integrated systems. The Company&#8217;s chief operating decision-maker is our chief executive officer, who reviews operating results on an aggregate consolidated basis for purposes of regularly making operating decisions, allocation of resources and assessing performance as a single operating segment.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Use of Estimates</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TradeAndOtherAccountsReceivablePolicy', window );">Trade Accounts Receivable</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Trade Accounts Receivable</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">perform ongoing credit evaluations of our customers and assess each customer&#8217;s credit worthiness. The policy for determining when receivables are past due or delinquent is based on the contractual terms agreed upon. We monitor collections and payments from our customers and analyze for an allowance for credit losses. The allowance for credit losses is based upon applying an expected credit loss rate to receivables based on the historical loss rate and is adjusted for current conditions, including any specific customer collection issues identified, and economic conditions forecast. Delinquent account balances are written off after management has determined that the likelihood of collection is remote.</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">An </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">allowance for doubtful accounts is established when, in the opinion of management, collection of the account is doubtful.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Inventories</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">As of April 2022, all of the Company&#8217;s products are manufactured by third parties that retain ownership of the inventory until title is transferred to the customer at the shipping point. In some situations, the Company retains ownership of consigned inventories at third-party contract manufacturer (CM) locations due to actual or pending customers' orders. </span><span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;">The Company recognized the consigned inventory as an asset in its financial statements</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. In certain instances, shipping terms are delivery-at-place and the Company is responsible for arranging transportation and delivery of goods ready for unloading at the named place. In those instances, the Company bears all risk involved in bringing the goods to the named place and records the related inventory in transit to the customer as inventory on the accompanying consolidated balance sheets. In the second quarter of 2022, we closed our facility located in Scottsdale, Arizona where certain of our products were previously manufactured.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Inventory is stated at the lower of cost or net realizable value. For items manufactured by our CMs, cost is determined using the weighted average cost method. For items manufactured by third parties, cost is determined using the first-in, first-out method (FIFO). Any adjustments to reduce the cost of inventories to their net realizable value are recognized in earnings in the current period. Write downs for excess and obsolete inventories are estimated based on product life cycles, quality issues, and historical experience.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property and Equipment</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Property and Equipment</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Property and equipment are stated at cost and are depreciated using the straight-line method over the estimated useful lives of the assets, generally </span><span style="font-size:10pt;font-family:Arial;"><span style="-sec-ix-hidden:F_937bdce1-8050-4e4e-9c39-8107ba36c542;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">three</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">ten years</span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. The estimated useful lives for leasehold improvements are determined as either the estimated useful life of the asset or the lease term, whichever is shorter. Repairs and maintenance are expensed as incurred. Property and equipment are reviewed for impairment whenever events or changes in circumstances indicate the carrying amount of an asset may not be recoverable. When assets are disposed of (or otherwise sold), the cost and related accumulated depreciation are removed from the accounts and any gain or loss on the disposal of property and equipment is classified as other expense (income) in the Company's consolidated statement of operations.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy', window );">Goodwill</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Goodwill</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We account for our goodwill under the authoritative guidance ASC 250 for goodwill and other intangible assets and the provisions of ASU 2017-04, Simplifying the Test for Goodwill Impairment, which we early adopted in fiscal year 2020. Goodwill is not amortized but is tested for impairment annually as of December 31 or more frequently if events or changes in circumstances indicate that our goodwill might be impaired. Such circumstances may include, but not limited to (1) a decline in macro-economic conditions, (2) a significant decline in our financial performance or (3) a significant decline in the price of our common stock for a sustained period of time. We consider the aggregation of the relevant qualitative factors, and conclude whether it is more likely than not that the fair value of our reporting unit is less than the carrying value.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">If we conclude that it is more likely than not that the fair value of our reporting unit is less than the carrying value, we perform a quantitative impairment test. The quantitative impairment test compares the fair value of the reporting unit to its carrying amount, including goodwill. If the fair value of the reporting unit exceeds the carrying amount of the net assets assigned to that reporting unit, goodwill is not considered impaired. However, if the fair value of the reporting unit is lower than the carrying amount of the net assets assigned to the reporting unit, an impairment charge is recognized equal to the excess of the carrying amount over the fair value. The impairment charge is limited to the goodwill amount of the reporting unit.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Determining the fair value of a reporting unit is judgmental in nature and involves the use of significant estimates and assumptions. For the market approach of valuation, we may use the guideline public company method. Under this method we utilize information from comparable publicly traded companies with similar operating and investment characteristics as the reporting unit to derive an indication of value. For the income approach of valuation, we use a discounted cash flow methodology to derive an indication of value, which required management to make estimates and assumptions related to forecasted revenues, gross profit margins, operating income margins, working capital cash flow, income tax rates, EBITDA, perpetual growth rates, and long-term discount rates, among others. In addition, we make certain judgments and assumptions in determining our reporting unit. We base our fair value estimates on assumptions we believe to be reasonable but that are unpredictable and inherently uncertain. Actual future results may differ from those estimates.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsFiniteLivedPolicy', window );">Other Intangible Assets</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Intangibles</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company&#8217;s identifiable finite-lived intangible assets are comprised of acquired intangibles, developed technologies, customer relationships and non-compete agreements. The cost of the market-related intangible assets with finite lives is amortized on a straight-line basis over the assets&#8217; respective estimated useful lives.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We assess potential impairments to our intangible assets in accordance with the authoritative guidance for impairment or disposal of long-lived assets (ASC 360) when events or changes in circumstances indicate that the carrying value may not be recoverable. We assess the impairment of long-lived and intangible assets whenever events or changes in circumstances indicate that the carrying value may not be recoverable. As a first step, we consider factors, which may include the following, but are not limited to: (1) significant underperformance relative to historical or projected future operating results; (2) significant negative industry or economic trends; or (3) a significant decline in our stock price for a sustained period.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">If this assessment indicates that the carrying value of the assets may not be recoverable, the Company is required to perform the second step to test the asset group for recoverability. This recoverability test compares the future undiscounted cash flows expected from the use of the asset group to its carrying value. If the carrying value is more than the undiscounted future cash flows, the Company is required perform a third step to determine the fair value of the asset group and compare fair value against the carrying value. Any excess carrying value over the fair value needs to be recognized as an impairment loss.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Determining the recoverability of long-lived or intangible assets is judgmental in nature and involves the use of significant estimates and assumptions. These estimates and assumptions include revenue growth rates and operating margins used to calculate projected future cash flows and the future market value of our asset group. In addition, we make certain judgments and assumptions in determining our asset group. We base our recoverability estimates on assumptions we believe to be reasonable but that are unpredictable and inherently uncertain. Actual future results may differ from those estimates.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Revenue Recognition</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Under ASC Topic 606 &#8220;Revenue from Contracts with Customers&#8221;, the Company recognize revenue when, or as the control of the promised goods or services is transferred to the customers in an amount that reflects the consideration the Company expects to be entitled in exchange for those goods or services. In applying this core principle, the Company performs the following five-steps only when it is probable that substantially all of the consideration that it will be entitled in exchange for the goods or services that will be transferred to the customer:</span></p><p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(i) identify the contract(s) with the customer,</span></p><p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(ii) identify the performance obligations in the contract,</span></p><p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(iii) determine the transaction price,</span></p><p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(iv) allocate the transaction price to the performance obligation(s) in the contract and</span></p><p style="margin-left:6.667%;text-indent:-4.478%;padding-left:4%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(v) recognize revenue when or as the entity satisfies performance obligations. A performance obligation is at a point in time, except if it meets any of the three criteria, which will require recognition of revenue over time:</span></p><div class="item-list-element-wrapper" style="margin-left:11.194%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.108889039028894%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">the customer simultaneously receives and consumes the benefit provided by the entity&#8217;s performance as the entity performs,</span></div></div><div class="item-list-element-wrapper" style="margin-left:11.194%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.108889039028894%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">the entity&#8217;s performance creates or enhances an asset (for example, work in process) that the customer controls as the asset is created or enhanced, and</span></div></div><div class="item-list-element-wrapper" style="margin-left:11.194%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.108889039028894%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">the entity's performance does not create an asset with an alternative use to the entity and the entity has an enforceable right to payment for performance completed to date.</span></div></div><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Most of the Company's revenue is generated from product sales and the revenue is recognized at a point-in-time when control is transferred to the customer. Each purchase order, along with existing customer agreements, when applicable, represents a contract from a customer and each product sold represents a distinct performance obligation. Revenue is recognized when control is transferred to the customer at a point in time either when the product is shipped to or received by the customer, based on the terms of the specific agreement with the customer, and the Company has an enforceable right to payment for the product. The Company allocates the transaction price, which is generally the quoted price per terms of the contract and the consideration the Company expects to receive, to each performance obligation. The Company offers return rights and/or pricing credits under certain circumstances. We estimate product returns based on historical sales and return trends and record against revenue and corresponding refund liability.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">A portion of the Company's revenue is recognized over time, including: data subscription, test services or custom design services. Revenue from data subscription plans relate to purchased asset trackers with activated data lines, through a third-party service provider. Data subscription plan revenues are recognized monthly based on the fee stated in the contract, as the customer is simultaneously receiving and consuming the benefits provided throughout the Company's monthly performance obligation. Test service revenues are recognized monthly based on the fee stated in the contract for obligations over time on assets that the customer controls. Design service fees are paid in advance; the prepayments are deferred revenues and are recorded as contract liabilities. Most of the design service fees are recognized based on the Company's achievement of milestones. The Company's performance for the design services does not create an asset with an alternative use to the Company and the Company has an enforceable right to payment for performance completed to date. We recognize from the contract liabilities as milestones are achieved over service periods ranging from </span><span style="font-size:10pt;font-family:Arial;"><span style="-sec-ix-hidden:F_cf1b385b-7ee7-4c17-8624-172917d1a479;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">three</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> (3) to </span><span style="font-size:10pt;font-family:Arial;"><span style="-sec-ix-hidden:F_008c8ceb-a1b6-4dd4-80ba-6aa77eae877c;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">eighteen</span></span></span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> (18) months.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company's contracts with customers do not typically include extended payment terms. Payment terms may vary by contract and type of customer and generally range from </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> to </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">90</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> days from delivery.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company provides assurance-type warranties on all product sales ranging from one to two years. The estimated warranty costs are accrued for at the time of sale based on historical warranty experience plus any known or expected changes in warranty exposure.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company has opted to not disclose the portion of revenues allocated to partially unsatisfied performance obligations, which represent products to be shipped within 12 months under open customer purchase orders, at the end of the current reporting period as allowed under ASC 606. The Company has also elected to record sales commissions when incurred, pursuant to the practical expedient under ASC 340, Other Assets and Deferred Costs, as the period over which the sales commission asset that would have been recognized is less than one year.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock', window );">Shipping and Transportation Costs</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Shipping and Transportation Costs</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Shipping and other transportation costs expensed as incurred were </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">$</span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.1</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> million</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> for each of the three months ended June 30, 2024 and 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">. These costs are included in sales and marketing expenses in the accompanying consolidated statements of operations.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpensePolicy', window );">Research and Development Costs</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Research and Development Costs</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Research and development costs are expensed as incurred.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdvertisingCostsPolicyTextBlock', window );">Advertising Costs</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Advertising Costs</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Advertising costs are expensed as incurred. These costs are included in sales and marketing expenses in the accompanying consolidated statements of operations.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Income Taxes</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company records income taxes under the asset and liability method. Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statements 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 income in the period that includes the enactment date. When applicable a valuation allowance is established to reduce any deferred tax asset when we determine that it is more likely than not that some portion of the deferred tax asset will not be realized.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company recognizes the effect of income tax positions only if those positions are more likely than not of being sustained. Recognized income tax positions are measured at the largest amount that is greater than 50% likely of being realized. Changes in recognition or measurement are reflected in the period in which the change in judgment occurs. The Company records interest related to unrecognized tax benefits in interest expense and penalties in general and administrative expenses.</span></p><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Stock-Based Compensation</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Stock-Based Compensation</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We recognize compensation costs related to stock options and restricted stock units granted to employees and directors based on the estimated fair value of the awards on the date of grant. We estimate the option grant fair values, and the resulting stock-based compensation expense, using the Black-Scholes option-pricing model. The grant date fair value of</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">stock-based awards are expensed on a straight-line basis over the requisite service period of the entire reward. The Company recognizes forfeitures when incurred.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The assumptions used in the Black-Scholes option-pricing model are as follows:</span></p><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Fair value of our common stock. The Company&#8217;s common stock is valued by reference to the publicly traded price of our common stock.</span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Expected term. The expected term represents the period of time stock-based awards are expected to be outstanding.</span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Expected weighted average volatility. Beginning 2022, we estimated expected volatility using solely our historical share price volatilities.</span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Risk-free interest rate. The risk-free interest rate is based on the U.S. Treasury yield in effect at the time of grant for zero coupon U.S. Treasury notes with maturities approximately equal to the expected term.</span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Expected dividend. The expected dividend is assumed to be zero as the Company has never paid dividends and have no current plans to pay any dividends.</span></div></div><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FairValueOfFinancialInstrumentsPolicy', window );">Fair Value Measurements</a></td>
<td class="text"><p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Fair Value Measurements</span><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The carrying values of the Company&#8217;s financial instruments, including cash, trade accounts receivable, accounts payable, accrued liabilities and deferred purchase price obligations approximate their fair values due to the short maturity of these instruments.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Fair value measurements are market-based measurements, not entity-specific measurements. Therefore, fair value measurements are determined based on the assumptions that market participants would use in pricing the asset or liability. The Company follows a three-level hierarchy to prioritize the inputs used in the valuation techniques to derive fair values. The basis for fair value measurements for each level within the hierarchy is described below:</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Level 1: Quoted prices in active markets for identical assets or liabilities. </span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Level 2: Quoted prices for similar assets or liabilities in active markets; quoted prices for identical or similar instruments in markets that are not active; and model-derived valuations in which all significant inputs are observable in active markets. </span></div></div><div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;">&#8226;</span><div style="width:100%;display:inline;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Level 3: Valuations derived from valuation techniques in which one or more significant inputs are unobservable in active markets.</span></div></div><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recently Issued Accounting Pronouncements</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Recently Adopted Accounting Pronouncements</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">None.</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;">Recently Issued Accounting Pronouncements</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In November 2023, the FASB issued ASU 2023-07, &#8220;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#8221; ASU No. 2023-07 require that a public entity disclose, on an annual and interim basis, significant segment expenses that are regularly provided to an entity's chief operating decision maker (CODM), amounts and descriptions of other reportable segments, and any additional measures of a segment's profit or loss used by the CODM when deciding how to allocate resources. The ASU is applicable to entities with a single reportable segment. This ASU is effective for fiscal years beginning after December 15, 2023, and for interim periods within fiscal years beginning after December 15, 2024. Early adoption is permitted. The ASU should be applied retrospectively to all prior periods presented in the financial statements. The Company will evaluate the ASU to determine its impact on the Company&#8217;s disclosures. The Company does not expect adoption to have a material impact on its consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In December 2023, the FASB issued ASU 2023-09, "Income Taxes (Topic 740): Improvements to Income Tax Disclosures.". ASU No. 2023-09 requires expanded disaggregated information about a reporting entity&#8217;s effective tax rate reconciliation as well as disclosure of income taxes paid by jurisdiction. The amendments in ASU are effective for fiscal years beginning after December 15, 2024 with early adoption permitted. Retrospective application of the amendments are permitted. The Company will evaluate the ASU to determine its impact on the Company&#8217;s disclosures. As the amendments apply to income tax disclosures only, the Company does not expect adoption to have a material impact on its consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">In March 2024, the FASB issued ASU 2024-02, "Codification Improvements&#8212;Amendments to Remove References to the Concepts Statements." ASU No. 2024-02 removes various references to concepts statements from the FASB Accounting</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Standards Codification. The ASU indicates that the goal of the amendments is to simplify the Codification and distinguish between non-authoritative and authoritative guidance since, unlike the Codification, the concepts statements are non-authoritative. The amendments in ASU are effective for fiscal years beginning after December 15, 2024 with early adoption permitted. Retrospective application of the amendments are permitted. The Company will evaluate the ASU to determine its impact on the Company&#8217;s disclosures. The Company does not expect adoption to have a material impact on its consolidated financial statements.</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">We have assessed all other ASUs issued but not yet adopted and concluded that those not disclosed are not relevant to the Company or are not expected to have a material impact.</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_DescriptionOfBusinessPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_DescriptionOfBusinessPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Revenue from contract with customer shipping and handling cost policy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdvertisingCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for advertising cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -SubTopic 35<br> -Topic 720<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483406/720-35-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdvertisingCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueOfFinancialInstrumentsPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for determining the fair value of financial instruments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 825<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueOfFinancialInstrumentsPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsFiniteLivedPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 920<br> -SubTopic 350<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478609/920-350-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 920<br> -SubTopic 350<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478609/920-350-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 920<br> -SubTopic 350<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478609/920-350-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsFiniteLivedPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478411/912-330-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/275/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 810<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/810/tableOfContent<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 250<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/250/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpensePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483044/730-10-05-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpensePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for segment reporting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 36<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-36<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 29<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-29<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.C.Q3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.1.Q5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.3.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/718/tableOfContent<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TradeAndOtherAccountsReceivablePolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-6<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481569/310-20-50-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-15<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-11B<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TradeAndOtherAccountsReceivablePolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552680141856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Loss Per Share (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Summary of Computation of Net Loss Per Share</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table presents the computation of net loss per share (in thousands except per share data)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:43.509%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.562%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.562%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.562%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.56%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.562%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Numerator:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net loss</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,513</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,205</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,968</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,063</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Denominator:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Basic weighted average common shares outstanding</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,938</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,413</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,736</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,340</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Plus dilutive effect of potential common shares</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Diluted weighted average common shares outstanding</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,938</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,413</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,736</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,340</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Net loss per share:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Basic</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.23</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.21</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.46</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.49</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Diluted</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.23</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.21</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.46</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">0.49</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock', window );">Summary of Potentially Dilutive Securities</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Potentially dilutive securities (in common stock equivalent shares) not included in the calculation of diluted net loss per share because to do so would be anti-dilutive are as follow</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">s (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:43.509%;"></td>
        <td style="width:1.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.962%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.962%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.962%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.962%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Stock options, restricted stock and performance stock</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,387</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,413</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,443</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,369</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Common stock equivalent shares</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,387</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,413</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,443</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,369</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552775193568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash and Cash Equivalents (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAbstract', window );"><strong>Cash and Cash Equivalents [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock', window );">Schedule of Cash and Cash Equivalents by Significant Investment Category</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following tables show the Company&#8217;s cash and cash equivalents by significant investment category </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">(in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:55.151%;"></td>
        <td style="width:2.3%;"></td>
        <td style="width:1%;"></td>
        <td style="width:18.124%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.3%;"></td>
        <td style="width:1%;"></td>
        <td style="width:18.124%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cash</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,316</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,581</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Level 1:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:middle;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Money market funds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">100</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">300</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,416</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,881</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of cash, cash equivalents, and investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552597815728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventory (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventory Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock', window );">Schedule of Inventory And Consigned Inventories, Current</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Inventories are comprised of the following (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49.34%;"></td>
        <td style="width:6.28%;"></td>
        <td style="width:1%;"></td>
        <td style="width:19.22%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.84%;"></td>
        <td style="width:1%;"></td>
        <td style="width:19.32%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Raw materials</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">487</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">661</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Finished goods</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,657</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,742</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total Inventory</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,144</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,403</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Consigned inventories, which are included in total inventories, are comprised of the following (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49.46%;"></td>
        <td style="width:6.04%;"></td>
        <td style="width:1%;"></td>
        <td style="width:19.4%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.72%;"></td>
        <td style="width:1%;"></td>
        <td style="width:19.38%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Raw materials</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">459</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">558</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Finished goods</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,508</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">598</span></p></td>
        <td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total Consigned Inventory</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,967</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,156</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Inventory And Consigned Inventories, Current [Table Text Block]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552592740320">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentAbstract', window );"><strong>Property, Plant and Equipment [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Schedule of Property and Equipment</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Property and equipment consist of the following (in thousands)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">:</span><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:61%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:16.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.88%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Manufacturing and testing equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,507</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,371</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Leasehold improvements</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">848</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">848</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Computers and software</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">550</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">811</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Furniture, fixtures, and equipment</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">427</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">427</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Vehicles</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">55</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">55</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Construction in process</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">45</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Property and equipment, gross</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,417</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,557</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Less accumulated depreciation</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,197</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,050</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Property and equipment, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,220</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,507</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552591745216">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets and Goodwill (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract', window );"><strong>Intangible Assets, Net (Excluding Goodwill) [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock', window );">Summary of Acquired Intangible Assets</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following is a summary of the Company&#8217;s acquired other</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> intangible assets (dollars in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:29.7%;"></td>
        <td style="width:2%;"></td>
        <td style="width:17.32%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.76%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.12%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.1%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="12" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Weighted average amortization period (in years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Gross carrying amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Accumulated amortization</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Net carrying amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Market related intangibles</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,820</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,304</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">516</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,780</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10,130</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,650</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Developed technologies</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,380</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,795</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,585</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Covenants to non-compete</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">115</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">115</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total intangible assets, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">20,095</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,344</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,751</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:31%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.34%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13.66%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="12" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Weighted average amortization period (in years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Gross carrying amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Accumulated amortization</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Net carrying amount</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Market related intangibles</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,820</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,135</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">685</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer relationships</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">7</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">13,780</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,993</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,787</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Developed technologies</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">11</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,380</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,618</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,762</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Covenants to non-compete</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">2</span></span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">115</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">115</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total intangible assets, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">20,095</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">11,861</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,234</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock', window );">Schedule of Estimated Annual Amortization of Intangible Assets</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Estimated annual amortization of intangible assets for the next five years and thereafter is shown in the foll</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">owing table (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:64.22%;"></td>
        <td style="width:3.1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:30.68%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Estimated future amortization</span></p></td>
        <td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2024 (remaining six months)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,484</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2025</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,958</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2026</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">557</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2027</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">356</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Thereafter</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,396</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,751</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552775189152">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Accrued Liabilities and Other (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract', window );"><strong>Accrued Liabilities and Other Liabilities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock', window );">Summary of Accrued Liabilities and Other</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Accrued liabilities and other is comprised of the follo</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">wing (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:55.32%;"></td>
        <td style="width:1.14%;"></td>
        <td style="width:1%;"></td>
        <td style="width:16.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.14%;"></td>
        <td style="width:1%;"></td>
        <td style="width:21.58%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued expenses</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,150</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,031</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">VAT payable</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">339</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued income taxes</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">38</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">145</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Advanced payments from contract manufacturers</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">30</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Contract liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">17</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Goods received not invoiced</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">883</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">185</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Other current liabilities</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">186</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">209</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued liabilities and other</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,287</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,926</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the (a) 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 (accounts payable); (b) other payables; and (c) accrued liabilities. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). An alternative caption includes accrued expenses.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552592726752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock', window );">Schedule of Future Minimum Lease Payments Under Operating Leases</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The table below presents aggregate future minimum payments due under leases, reconciled to lease liabilities included in the consolidated balance sheet as of </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">June 30, 2024 (in thousands):</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:66.233%;"></td>
        <td style="width:6.641%;"></td>
        <td style="width:1%;"></td>
        <td style="width:25.125%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Estimated future lease obligation</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2024 (remaining six months)</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">471</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2025</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">785</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">2026</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">36</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total minimum payments</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,292</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Less imputed interest</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">39</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Less unrealized translation gain</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total lease liabilities</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,251</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Less short-term lease liabilities</span></p></td>
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">881</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Long-term lease liability</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">370</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Future Minimum Rental Payments for Operating and Financing Leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552597879888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockDisclosuresAbstract', window );"><strong>Class of Stock Disclosures [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock', window );">Schedule of Common Stock Reserved for Future Issuance</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table presents common stock reserved for </span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">future issuance</span><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Arial;min-width:fit-content;">(1)</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:60%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Stock options issued and outstanding</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,482</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,104</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Stock awards issued and outstanding</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,041</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">817</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Authorized for grants under the 2016 Plan</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;">(2)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">69</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">448</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Authorized for grants under the Inducement Plan</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;">(3)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">183</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">174</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Authorized for grants under the 2016 Employee Stock Purchase Plan</span><span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;">(4)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">517</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">540</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,292</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,083</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(1)</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> The table above excludes </span><span style="font-size:8pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">541,000</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> treasury stock shares as of June 30, 2024 and December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> </span></p><p style="text-indent:-2.74%;padding-left:2.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(2)</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> On January 1, 2024, the number of authorized shares in the 2016 Plan increased by </span><span style="font-size:8pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;">440,000</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> shares pursuant to the evergreen provisions of the 2016 Plan.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> </span></p><p style="text-indent:-1.351%;padding-left:1.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(3)</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> On February 5, 2021, </span><span style="font-size:8pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">300,000</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> shares were authorized pursuant to the terms of the Inducement Plan.</span></p><p style="text-indent:-2.74%;padding-left:2.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(4) </span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">On January 1, 2024, the number of authorized shares in the 2016 Employee Stock Purchase Plan increased by </span><span style="font-size:8pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;">100,000</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> sh</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">ares pursuant to the evergreen provisions of the 2016 Employee Stock Purchase Plan.</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_ScheduleOfTheCompanysAtmSalesActivityTabletextblock', window );">Schedule Of The Company's ATM Sales Activity</a></td>
<td class="text"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table summarizes the Company</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;s ATM sales activity during the period indicated (in thousands):</span><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49%;"></td>
        <td style="width:7%;"></td>
        <td style="width:1%;"></td>
        <td style="width:17.74%;"></td>
        <td style="width:1%;"></td>
        <td style="width:6.66%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.6%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three Months Ended June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six Months Ended June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Shares issued</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">505</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">629</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Gross proceeds</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,630</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,309</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Net proceeds after offering costs</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,518</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,006</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;">&#160;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of common stock reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_ScheduleOfTheCompanysAtmSalesActivityTabletextblock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of The Company's ATM Sales Activity [TableTextBlock]</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_ScheduleOfTheCompanysAtmSalesActivityTabletextblock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfStockDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552680297008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Based Compensation (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Schedule of Stock Based Compensation Expenses</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Stock-based compensation is recorded in the consolidated statements of operations as fol</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">lows (in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:36.9%;"></td>
        <td style="width:1.72%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.66%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.72%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.82%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.72%;"></td>
        <td style="width:1%;"></td>
        <td style="width:11.82%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Cost of goods sold</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">65</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">29</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">123</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">44</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Research and development</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">400</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">280</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">728</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">517</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Sales and marketing</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">75</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">115</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">155</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">276</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">General and administrative</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">667</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">544</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,247</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,112</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:7pt;white-space:pre-wrap;vertical-align:top;"><p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total stock-based compensation expense</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,207</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">968</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,253</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,949</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Summary of Outstanding Stock Option Activity</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table summarizes the outstanding stock option activity during the period indi</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">cated (shares in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:40.2%;"></td>
        <td style="width:1.86%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.76%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.7%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.34%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.16%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.76%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.219999999999999%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Weighted average</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Number of <br/>stock options</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Exercise <br/>price</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Remaining contractual term (in years)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Aggregate intrinsic value (in thousands)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,104</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10.20</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.2</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">329</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Granted</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">408</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.07</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Exercised</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">3.10</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">18</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Expired/Forfeited</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">22</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8.28</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,482</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">9.40</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.4</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,552</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Vested and exercisable at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,639</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">11.12</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">5.0</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">657</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Vested and expected to vest at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,482</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">9.40</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;"><span style="color:#000000;white-space:pre-wrap;min-width:fit-content;">6.4</span></span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,552</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock', window );">Summary of Outstanding Restricted Stock Unit Activity</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table summarizes the Company</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;s restricted stock unit (RSU) activity during the period indicated (shares in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:68%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1%;"></td>
        <td style="width:13%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Restricted <br/>stock units</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Weighted average grant date fair value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">706</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">6.97</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Grants</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">484</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.14</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Vested and released</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">196</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">7.83</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Forfeited</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">64</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.77</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">930</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5.92</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_ScheduleOfPerformanceStockUnitTableTextBlock', window );">Schedule of Performance Stock Unit</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table summarizes the Company</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;s performance stock unit (PSU) activity during the period indicated (shares in thousands):</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:67.48%;"></td>
        <td style="width:1.46%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.8%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.94%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.32%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Performance<br/>stock units</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Weighted average grant date fair value</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">110</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.79</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Grants</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Vested and released</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Forfeited</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">110</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1.79</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock', window );">Schedule of Company's share-settled obligation RSU grants</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table summarizes the Company</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#8217;s share-settled obligation RSU grants, which immediately vested during the period indicated:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:33.987%;"></td>
        <td style="width:5.001%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.763%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.4%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.502%;"></td>
        <td style="width:1%;"></td>
        <td style="width:6.101%;"></td>
        <td style="width:1%;"></td>
        <td style="width:6.941%;"></td>
        <td style="width:1%;"></td>
        <td style="width:8.782%;"></td>
        <td style="width:1%;"></td>
        <td style="width:6.521%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">RSU grants that settled obligations (in thousands)</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Grant date fair value</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">70.9</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">195.4</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">949.2</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">RSU shares granted and vested</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">14</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">45</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">187</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_ScheduleOfPerformanceStockUnitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of performance stock unit table text block</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_ScheduleOfPerformanceStockUnitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552597815728">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock', window );">Schedule of liability recorded related to severance and exit costs</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following table presents activity that we recorded related to severance and exit costs:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"> </span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:57.74%;"></td>
        <td style="width:17%;"></td>
        <td style="width:1%;"></td>
        <td style="width:23.26%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Severance and Exit Costs</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(In thousands)</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at December 31, 2023</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">50</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued to expense</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Payments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">(</span><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">50</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">)</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at March 31, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Accrued to expense</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Payments</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Balance at June 30, 2024</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">&#8212;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="text-indent:14pt;vertical-align:bottom;"><p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule Of commitments and contingencies liability recorded related to severance and exit costs table text block</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552593931168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Concentration (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RisksAndUncertaintiesAbstract', window );"><strong>Risks and Uncertainties [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock', window );">Schedule of Concentration of Sales and Accounts Receivable</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following represents customers that accounted for </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">% or more of total revenue:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:32.213%;"></td>
        <td style="width:1.461%;"></td>
        <td style="width:1%;"></td>
        <td style="width:15.187%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.461%;"></td>
        <td style="width:1%;"></td>
        <td style="width:14.506%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.461%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.125%;"></td>
        <td style="width:1%;"></td>
        <td style="width:1.461%;"></td>
        <td style="width:1%;"></td>
        <td style="width:12.125%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer A</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">24</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">9</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">20</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">12</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer B</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">16</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">6</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">17</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">7</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The following represents customers that accounted for </span><span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">10</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">% or more of total trade accounts receivable:</span></p><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:46.809%;"></td>
        <td style="width:2.3%;"></td>
        <td style="width:1%;"></td>
        <td style="width:22.784%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.3%;"></td>
        <td style="width:1%;"></td>
        <td style="width:21.804%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer A</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">27</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">17</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Customer B</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">14</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">14</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">%</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock', window );">Summary of Long Lived Assets By Geographical Region</a></td>
<td class="text"><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">The Company&#8217;s property and equipment, net by geographic region, are as follows (in thousands):</span></p><p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:49.8%;"></td>
        <td style="width:2.48%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.72%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.48%;"></td>
        <td style="width:1%;"></td>
        <td style="width:20.52%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">June 30, 2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">December 31, 2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">North America</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,038</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,295</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Asia Pacific (APAC)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">71</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">86</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fc;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Europe, Middle East and Africa (EMEA)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">111</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">126</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Property and equipment, net</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,220</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,507</span></p></td>
        <td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RisksAndUncertaintiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RisksAndUncertaintiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-18<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-16<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-21<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552597495904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue from Contract with Customer [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Summary of Disaggregated Revenue</a></td>
<td class="text"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">Disaggregated revenues are as fo</span><span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">llows (in thousands):</span></p><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p>
      <table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;">
       <tr style="visibility:collapse;">
        <td style="width:38.98%;"></td>
        <td style="width:8.78%;"></td>
        <td style="width:1%;"></td>
        <td style="width:9.34%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.72%;"></td>
        <td style="width:1%;"></td>
        <td style="width:7.8999999999999995%;"></td>
        <td style="width:1%;"></td>
        <td style="width:2.72%;"></td>
        <td style="width:1%;"></td>
        <td style="width:10.459999999999999%;"></td>
        <td style="width:1%;"></td>
        <td style="width:3.2%;"></td>
        <td style="width:1%;"></td>
        <td style="width:7.8999999999999995%;"></td>
        <td style="width:1%;"></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Three months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Six months ended June 30,</span></p></td>
        <td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2024</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">2023</span></p></td>
        <td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">By Market Group:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Enterprise</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,615</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">7,366</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">17,494</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,803</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Consumer</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">4,827</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,189</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,338</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">11,321</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Automotive</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,742</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">2,275</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">3,583</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,150</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total sales</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,184</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,830</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">29,415</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,274</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">By Geography:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">North America</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,337</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">9,438</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">19,361</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">19,606</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">China (including Hong Kong and Taiwan)</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">5,397</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">6,059</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">8,700</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">12,028</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Rest of the world</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">450</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">333</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,354</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">640</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total sales</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,184</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,830</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">29,415</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,274</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;white-space:pre-wrap;word-break:break-word;">
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;">Timing of revenue recognition:</span></p></td>
        <td style="vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td colspan="2" style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Products and services transferred at a point in time</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,507</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">14,795</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">28,032</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">30,639</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#cff0fd;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Products and services transferred over time</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">677</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,035</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,383</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">1,635</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
       <tr style="height:10pt;background-color:#ffffff;word-break:break-word;">
        <td style="white-space:pre-wrap;vertical-align:top;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;">Total sales</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,184</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">15,830</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">29,415</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"><span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;font-family:Arial;min-width:fit-content;">$</span></p></td>
        <td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"><span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">32,274</span></p></td>
        <td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="font-family:Arial;min-width:fit-content;">&#160;</span></p></td>
       </tr>
      </table><p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;">&#160;</span></p><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552594373872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies - Additional Information (Details)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Jun. 30, 2024 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jun. 30, 2024 </div>
<div>Days</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_SignificantAccountingPoliciesLineItems', window );"><strong>Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Shipping and other transportation costs | $</a></td>
<td class="nump">$ 0.1<span></span>
</td>
<td class="nump">$ 0.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_SignificantAccountingPoliciesLineItems', window );"><strong>Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful life</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_DeferredRevenueRecognitionPeriod', window );">Deferred revenue recognition period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 months<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_RevenueRecognitionPaymentTerms', window );">Revenue recognition, payment terms</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_SignificantAccountingPoliciesLineItems', window );"><strong>Significant Accounting Policies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful life</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_DeferredRevenueRecognitionPeriod', window );">Deferred revenue recognition period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">18 months<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_RevenueRecognitionPaymentTerms', window );">Revenue recognition, payment terms</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">90<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_DeferredRevenueRecognitionPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Deferred revenue recognition period</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_DeferredRevenueRecognitionPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_RevenueRecognitionPaymentTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Revenue recognition, payment terms.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_RevenueRecognitionPaymentTerms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:integerItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_SignificantAccountingPoliciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Significant accounting policies line items.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_SignificantAccountingPoliciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552590364656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Loss Per Share - Summary of Computation of Net Loss Per Share (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="4">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings Per Share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net Income (Loss)</a></td>
<td class="num">$ (2,513)<span></span>
</td>
<td class="num">$ (2,455)<span></span>
</td>
<td class="num">$ (2,205)<span></span>
</td>
<td class="num">$ (2,858)<span></span>
</td>
<td class="num">$ (4,968)<span></span>
</td>
<td class="num">$ (5,063)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic weighted average common shares outstanding</a></td>
<td class="nump">10,938<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,413<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,736<span></span>
</td>
<td class="nump">10,340<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Plus dilutive effect of potential common shares</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted weighted average common shares outstanding</a></td>
<td class="nump">10,938<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,413<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10,736<span></span>
</td>
<td class="nump">10,340<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic</a></td>
<td class="num">$ (0.23)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (0.21)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (0.46)<span></span>
</td>
<td class="num">$ (0.49)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted</a></td>
<td class="num">$ (0.23)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (0.21)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (0.46)<span></span>
</td>
<td class="num">$ (0.49)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-10<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 34: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 37: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552591535536">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Net Loss Per Share - Summary of Potentially Dilutive Securities (Details) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded From Computation Of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Common stock equivalent shares</a></td>
<td class="nump">2,387<span></span>
</td>
<td class="nump">2,413<span></span>
</td>
<td class="nump">2,443<span></span>
</td>
<td class="nump">2,369<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=airg_StockOptionsAndRestrictedStockMember', window );">Stock Options, Restricted Stock and Performance Stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems', window );"><strong>Antidilutive Securities Excluded From Computation Of Earnings Per Share [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Common stock equivalent shares</a></td>
<td class="nump">2,387<span></span>
</td>
<td class="nump">2,413<span></span>
</td>
<td class="nump">2,443<span></span>
</td>
<td class="nump">2,369<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=airg_StockOptionsAndRestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=airg_StockOptionsAndRestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552687537280">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash and Cash Equivalents - Schedule of Cash and Cash Equivalents by Significant Investment Category (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems', window );"><strong>Cash And Cash Equivalents And Short Term Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Cash', window );">Cash</a></td>
<td class="nump">$ 8,316<span></span>
</td>
<td class="nump">$ 7,581<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis', window );">Cash and cash equivalents and Short term investments, Amortized cost</a></td>
<td class="nump">8,416<span></span>
</td>
<td class="nump">7,881<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentTypeAxis=us-gaap_MoneyMarketFundsMember', window );">Money Market Funds | Level 1</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems', window );"><strong>Cash And Cash Equivalents And Short Term Investments [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashEquivalentsAtCarryingValue', window );">Cash equivalents</a></td>
<td class="nump">$ 100<span></span>
</td>
<td class="nump">$ 300<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash and cash equivalents and short-term investments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash And Cash Equivalents At Carrying Value Available And Available For Sale Debt Securities Amortized Cost Basis.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-21<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -SubTopic 210<br> -Topic 946<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477796/946-210-45-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Cash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentTypeAxis=us-gaap_MoneyMarketFundsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentTypeAxis=us-gaap_MoneyMarketFundsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueByFairValueHierarchyLevelAxis=us-gaap_FairValueInputsLevel1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552593113472">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Cash and Cash Equivalents (Additional Information) (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract', window );"><strong>Investments, Debt and Equity Securities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashEquivalents', window );">Restricted cash</a></td>
<td class="nump">$ 95,000<span></span>
</td>
<td class="nump">$ 95,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RestrictedCashAndCashEquivalents', window );">Restricted cash - short term</a></td>
<td class="nump">40,000<span></span>
</td>
<td class="nump">40,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidExpenseAndOtherAssetsNoncurrent', window );">Restricted cash - long term</a></td>
<td class="nump">$ 55,000<span></span>
</td>
<td class="nump">$ 55,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidExpenseAndOtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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 after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidExpenseAndOtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashAndCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents 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. 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashAndCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash equivalents restricted as to withdrawal or usage. 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477220/954-210-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478600/954-210-50-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(1)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552594474576">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventory - Schedule of Inventory and Consigned Inventories, Current (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryLineItems', window );"><strong>Inventories</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total Inventory</a></td>
<td class="nump">$ 3,144<span></span>
</td>
<td class="nump">$ 2,403<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PublicUtilitiesInventoryAxis=us-gaap_InventoriesMember', window );">Inventories [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryLineItems', window );"><strong>Inventories</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsAndSupplies', window );">Raw materials</a></td>
<td class="nump">487<span></span>
</td>
<td class="nump">661<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Finished good</a></td>
<td class="nump">2,657<span></span>
</td>
<td class="nump">1,742<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total Inventory</a></td>
<td class="nump">3,144<span></span>
</td>
<td class="nump">2,403<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PublicUtilitiesInventoryAxis=airg_ConsignedInventoriesMember', window );">Consigned inventories [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryLineItems', window );"><strong>Inventories</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsAndSupplies', window );">Raw materials</a></td>
<td class="nump">459<span></span>
</td>
<td class="nump">558<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoods', window );">Finished good</a></td>
<td class="nump">1,508<span></span>
</td>
<td class="nump">598<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Total Inventory</a></td>
<td class="nump">$ 1,967<span></span>
</td>
<td class="nump">$ 1,156<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoods">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoods</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsAndSupplies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsAndSupplies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PublicUtilitiesInventoryAxis=us-gaap_InventoriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PublicUtilitiesInventoryAxis=us-gaap_InventoriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PublicUtilitiesInventoryAxis=airg_ConsignedInventoriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PublicUtilitiesInventoryAxis=airg_ConsignedInventoriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552592388064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Property and Equipment - Additional Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property Plant And Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation expense</a></td>
<td class="nump">$ 100<span></span>
</td>
<td class="nump">$ 200<span></span>
</td>
<td class="nump">$ 284<span></span>
</td>
<td class="nump">$ 342<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property Plant And Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful life</a></td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">3 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property Plant And Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property and equipment, estimated useful life</a></td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">10 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552597519616">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Property and Equipment - Schedule of Property and Equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property Plant And Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 7,417<span></span>
</td>
<td class="nump">$ 7,557<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Less accumulated depreciation</a></td>
<td class="num">(5,197)<span></span>
</td>
<td class="num">(5,050)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net</a></td>
<td class="nump">2,220<span></span>
</td>
<td class="nump">2,507<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember', window );">Manufacturing and Testing Equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property Plant And Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">5,507<span></span>
</td>
<td class="nump">5,371<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember', window );">Leasehold Improvements</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property Plant And Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">848<span></span>
</td>
<td class="nump">848<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=airg_ComputersAndSoftwareMember', window );">Computers and Software</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property Plant And Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">550<span></span>
</td>
<td class="nump">811<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember', window );">Furniture, Fixtures, and Equipment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property Plant And Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">427<span></span>
</td>
<td class="nump">427<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember', window );">Vehicles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property Plant And Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">55<span></span>
</td>
<td class="nump">55<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember', window );">Construction in Process</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentLineItems', window );"><strong>Property Plant And Equipment [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property and equipment, gross</a></td>
<td class="nump">$ 30<span></span>
</td>
<td class="nump">$ 45<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_MachineryAndEquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_LeaseholdImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=airg_ComputersAndSoftwareMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=airg_ComputersAndSoftwareMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_FurnitureAndFixturesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_VehiclesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_ConstructionInProgressMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552594258832">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Intangible Assets and Goodwill - Summary of Acquired Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems', window );"><strong>Acquired Finite Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross carrying amount</a></td>
<td class="nump">$ 20,095<span></span>
</td>
<td class="nump">$ 20,095<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="nump">13,344<span></span>
</td>
<td class="nump">11,861<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total</a></td>
<td class="nump">$ 6,751<span></span>
</td>
<td class="nump">$ 8,234<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_MarketingRelatedIntangibleAssetsMember', window );">Market related intangibles</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems', window );"><strong>Acquired Finite Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted average amortization period (in years)</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross carrying amount</a></td>
<td class="nump">$ 1,820<span></span>
</td>
<td class="nump">$ 1,820<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="nump">1,304<span></span>
</td>
<td class="nump">1,135<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total</a></td>
<td class="nump">$ 516<span></span>
</td>
<td class="nump">$ 685<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember', window );">Customer relationships</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems', window );"><strong>Acquired Finite Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted average amortization period (in years)</a></td>
<td class="text">7 years<span></span>
</td>
<td class="text">7 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross carrying amount</a></td>
<td class="nump">$ 13,780<span></span>
</td>
<td class="nump">$ 13,780<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="nump">10,130<span></span>
</td>
<td class="nump">8,993<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total</a></td>
<td class="nump">$ 3,650<span></span>
</td>
<td class="nump">$ 4,787<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember', window );">Developed technologies</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems', window );"><strong>Acquired Finite Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted average amortization period (in years)</a></td>
<td class="text">11 years<span></span>
</td>
<td class="text">11 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross carrying amount</a></td>
<td class="nump">$ 4,380<span></span>
</td>
<td class="nump">$ 4,380<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="nump">1,795<span></span>
</td>
<td class="nump">1,618<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total</a></td>
<td class="nump">$ 2,585<span></span>
</td>
<td class="nump">$ 2,762<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=airg_CovenantsToNonCompeteMember', window );">Covenants to non-compete</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems', window );"><strong>Acquired Finite Lived Intangible Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Weighted average amortization period (in years)</a></td>
<td class="text">2 years<span></span>
</td>
<td class="text">2 years<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Gross carrying amount</a></td>
<td class="nump">$ 115<span></span>
</td>
<td class="nump">$ 115<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Accumulated amortization</a></td>
<td class="nump">115<span></span>
</td>
<td class="nump">115<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478859/928-340-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_MarketingRelatedIntangibleAssetsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_MarketingRelatedIntangibleAssetsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_CustomerRelationshipsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=us-gaap_DevelopedTechnologyRightsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=airg_CovenantsToNonCompeteMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis=airg_CovenantsToNonCompeteMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552593342624">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Intangible Assets and Goodwill - Schedule of Estimated Annual Amortization of Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract', window );"><strong>Intangible Assets, Net (Excluding Goodwill) [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear', window );">2024 (remaining six months)</a></td>
<td class="nump">$ 1,484<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2025</a></td>
<td class="nump">2,958<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">2026</a></td>
<td class="nump">557<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">2027</a></td>
<td class="nump">356<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">Thereafter</a></td>
<td class="nump">1,396<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Total</a></td>
<td class="nump">$ 6,751<span></span>
</td>
<td class="nump">$ 8,234<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552591609200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets and Goodwill - Additional Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract', window );"><strong>Intangible Assets, Net (Excluding Goodwill) [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization</a></td>
<td class="nump">$ 700<span></span>
</td>
<td class="nump">$ 700<span></span>
</td>
<td class="nump">$ 1,484<span></span>
</td>
<td class="nump">$ 1,485<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Goodwill impairment losses</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill', window );">Impairment of intangible assets</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of impairment loss from asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of an intangible asset (excluding goodwill) to fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552590358752">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Accrued Liabilities and Other - Summary of Accrued Liabilities and Other (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract', window );"><strong>Accrued Liabilities and Other Liabilities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Accrued expenses</a></td>
<td class="nump">$ 1,150<span></span>
</td>
<td class="nump">$ 1,031<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SalesAndExciseTaxPayableCurrent', window );">VAT payable</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">339<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxesCurrent', window );">Accrued income taxes</a></td>
<td class="nump">38<span></span>
</td>
<td class="nump">145<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_AdvancedPaymentsFromContractManufacturers', window );">Advanced payments from contract manufacturer</a></td>
<td class="nump">30<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_ContractLiabilitiesCurrent', window );">Contract liabilities</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">17<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_GoodsReceivedNotInvoiced', window );">Goods Received Not Invoiced</a></td>
<td class="nump">883<span></span>
</td>
<td class="nump">185<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilities', window );">Other current liabilities</a></td>
<td class="nump">186<span></span>
</td>
<td class="nump">209<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesAndOtherLiabilities', window );">Accrued liabilities and other</a></td>
<td class="nump">$ 2,287<span></span>
</td>
<td class="nump">$ 1,926<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_AdvancedPaymentsFromContractManufacturers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Advanced payments from contract manufacturers</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_AdvancedPaymentsFromContractManufacturers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_ContractLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of contract liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_ContractLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_GoodsReceivedNotInvoiced">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Goods Received not Invoiced</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_GoodsReceivedNotInvoiced</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedIncomeTaxesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedIncomeTaxesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesAndOtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesAndOtherLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(12)(b)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SalesAndExciseTaxPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred through that date and payable for statutory sales and use taxes, including value added tax. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesAndExciseTaxPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552591818224">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases - Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeaseExpirationDate1', window );">Lease Expiration Date</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Dec. 31,  2025<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseOptionToExtend', window );">Operating lease option to extend</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Operating lease weighted average discount rate percent</a></td>
<td class="nump">4.40%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.40%<span></span>
</td>
<td class="nump">3.80%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Operating lease weighted average remaining lease term</a></td>
<td class="text">1 year 4 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year 4 months 24 days<span></span>
</td>
<td class="text">1 year 9 months 18 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating lease cost</a></td>
<td class="nump">$ 200,000<span></span>
</td>
<td class="nump">$ 200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShortTermLeaseCost', window );">Short-term leases expense</a></td>
<td class="nump">$ 13,000<span></span>
</td>
<td class="nump">$ 27,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LessorOperatingLeaseTermOfContract', window );">Operating lease term of contract</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LessorOperatingLeaseTermOfContract', window );">Operating lease term of contract</a></td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeaseExpirationDate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Date which lease or group of leases is set to expire, in YYYY-MM-DD format.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeaseExpirationDate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseOptionToExtend">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of terms and conditions of option to extend lessee's operating lease. Includes, but is not limited to, information about option recognized as part of right-of-use asset and lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseOptionToExtend</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LessorOperatingLeaseTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Term of lessor's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479773/842-30-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LessorOperatingLeaseTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShortTermLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of short-term lease cost, excluding expense for lease with term of one month or less.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShortTermLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552591535952">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Leases - Schedule of Future Minimum Lease Payments on Operating Leases (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">2024 (remaining six months)</a></td>
<td class="nump">$ 471<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2025</a></td>
<td class="nump">785<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2026</a></td>
<td class="nump">36<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total minimum payments</a></td>
<td class="nump">1,292<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less imputed interest</a></td>
<td class="num">(39)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_UnrealizedTranslationGain', window );">Less unrealized translation gain</a></td>
<td class="num">(2)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total lease liabilities</a></td>
<td class="nump">1,251<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Less short-term lease liabilities</a></td>
<td class="num">(881)<span></span>
</td>
<td class="num">$ (865)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Long-term lease liability</a></td>
<td class="nump">$ 370<span></span>
</td>
<td class="nump">$ 674<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_UnrealizedTranslationGain">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unrealized translation gain</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_UnrealizedTranslationGain</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552591167248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income Taxes - Additional Information (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income Tax Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective income tax rate</a></td>
<td class="nump">2.10%<span></span>
</td>
<td class="num">(1.60%)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">U.S. federal statutory tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsLiabilitiesNet', window );">Net deferred tax assets</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 14.6<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.1.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552593180208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Additional Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common Stock, Shares, Issued</a></td>
<td class="nump">11,842,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,010,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from at-the-market common stock offering, net of offering costs</a></td>
<td class="nump">$ 3,006<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=airg_AtmOfferingsMember', window );">ATM Offerings</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common Stock, Value, ATM Available for Issuance</a></td>
<td class="nump">$ 1,700<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 5,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483014/272-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482987/272-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(27)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=airg_AtmOfferingsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=airg_AtmOfferingsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552592798016">
<tr>
<th class="tl" colspan="2" rowspan="1"><div style="width: 200px;"><strong>Stockholders' Equity - Schedule of Common Stock Reserved for Future Issuance (Details) - shares<br> shares in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Common stock, reserved for future issuance</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">4,292<span></span>
</td>
<td class="nump">4,083<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=airg_StockAwardsIssuedAndOutstandingMember', window );">Stock awards issued and outstanding</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Common stock, reserved for future issuance</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">1,041<span></span>
</td>
<td class="nump">817<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementEquityComponentsAxis=airg_StockOptionsIssuedAndOutstandingMember', window );">Stock options issued and outstanding</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Common stock, reserved for future issuance</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1]</sup></td>
<td class="nump">2,482<span></span>
</td>
<td class="nump">2,104<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=airg_TwoThousandAndSixteenEquityIncentivePlanMember', window );">Authorized for grants under the 2016 Plan</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Common stock, reserved for future issuance</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1],[2]</sup></td>
<td class="nump">69<span></span>
</td>
<td class="nump">448<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember', window );">Authorized for grants under the 2016 Employee Stock Purchase Plan</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Common stock, reserved for future issuance</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1],[3]</sup></td>
<td class="nump">517<span></span>
</td>
<td class="nump">540<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=airg_AuthorizedForGrantsUnderTheInducementPlanMember', window );">Authorized for Grants under the Inducement Plan</a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="th" style="border-bottom: 0px;"><sup></sup></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance', window );">Common stock, reserved for future issuance</a></td>
<td class="th" style="border-bottom: 0px;"><sup>[1],[4]</sup></td>
<td class="nump">183<span></span>
</td>
<td class="nump">174<span></span>
</td>
</tr>
<tr><td colspan="3"></td></tr>
<tr><td colspan="3"><table class="outerFootnotes" width="100%">
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[1]</td>
<td style="vertical-align: top;" valign="top"><p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(1)</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> The table above excludes </span><span style="font-size:8pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">541,000</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> treasury stock shares as of June 30, 2024 and December 31, 2023</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> </span></p></td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[2]</td>
<td style="vertical-align: top;" valign="top"><p style="text-indent:-2.74%;padding-left:2.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(2)</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> On January 1, 2024, the number of authorized shares in the 2016 Plan increased by </span><span style="font-size:8pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;">440,000</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> shares pursuant to the evergreen provisions of the 2016 Plan.</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> </span></p></td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[3]</td>
<td style="vertical-align: top;" valign="top"><p style="text-indent:-2.74%;padding-left:2.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(4) </span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">On January 1, 2024, the number of authorized shares in the 2016 Employee Stock Purchase Plan increased by </span><span style="font-size:8pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;">100,000</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> sh</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">ares pursuant to the evergreen provisions of the 2016 Employee Stock Purchase Plan.</span></p></td>
</tr>
<tr class="outerFootnote">
<td style="vertical-align: top; width: 12pt;" valign="top">[4]</td>
<td style="vertical-align: top;" valign="top"><p style="text-indent:-1.351%;padding-left:1.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(3)</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> On February 5, 2021, </span><span style="font-size:8pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">300,000</span><span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> shares were authorized pursuant to the terms of the Inducement Plan.</span></p></td>
</tr>
</table></td></tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483014/272-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482987/272-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(27)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockCapitalSharesReservedForFutureIssuance">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate number of common shares reserved for future issuance.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockCapitalSharesReservedForFutureIssuance</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=airg_StockAwardsIssuedAndOutstandingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=airg_StockAwardsIssuedAndOutstandingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementEquityComponentsAxis=airg_StockOptionsIssuedAndOutstandingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementEquityComponentsAxis=airg_StockOptionsIssuedAndOutstandingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=airg_TwoThousandAndSixteenEquityIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=airg_TwoThousandAndSixteenEquityIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=airg_AuthorizedForGrantsUnderTheInducementPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=airg_AuthorizedForGrantsUnderTheInducementPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552595080368">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Stockholders' Equity- Schedule of Common Stock Reserved for Future Issuance (Parenthetical) (Details) - shares<br></strong></div></th>
<th class="th"><div>Jan. 01, 2024</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Feb. 05, 2021</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury stock, shares at cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">541,000<span></span>
</td>
<td class="nump">541,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=airg_TwoThousandAndSixteenEquityIncentivePlanMember', window );">2016 Equity Incentive Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized', window );">Number of authorized shares increased</a></td>
<td class="nump">440,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember', window );">2016 Employee Stock Purchase Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized', window );">Number of authorized shares increased</a></td>
<td class="nump">100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PlanNameAxis=airg_AuthorizedForGrantsUnderTheInducementPlanMember', window );">2021 Inducement Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ClassOfStockLineItems', window );"><strong>Class Of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Number of authorized shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">300,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ClassOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/recommendedDisclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483014/272-10-45-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 272<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482987/272-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-13<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-14<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 18<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-18<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(27)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(2)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ClassOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of additional shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=airg_TwoThousandAndSixteenEquityIncentivePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=airg_TwoThousandAndSixteenEquityIncentivePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PlanNameAxis=airg_AuthorizedForGrantsUnderTheInducementPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PlanNameAxis=airg_AuthorizedForGrantsUnderTheInducementPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552595026192">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stockholders' Equity - Schedule of the Company's ATM sales activity (Details) - ATM [Member] - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockLineItems', window );"><strong>Subsidiary, Sale of Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues', window );">Shares issued</a></td>
<td class="nump">505<span></span>
</td>
<td class="nump">629<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SaleOfStockConsiderationReceivedOnTransaction', window );">Gross proceeds</a></td>
<td class="nump">$ 2,630<span></span>
</td>
<td class="nump">$ 3,309<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOrSaleOfEquity', window );">Net proceeds after offering costs</a></td>
<td class="nump">$ 2,518<span></span>
</td>
<td class="nump">$ 3,006<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOrSaleOfEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the issuance of common stock, preferred stock, treasury stock, stock options, and other types of equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOrSaleOfEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SaleOfStockConsiderationReceivedOnTransaction">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash received on stock transaction after deduction of issuance costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SaleOfStockConsiderationReceivedOnTransaction</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesNewIssues">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of new stock issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(i)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesNewIssues</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=airg_AtTheMarketOfferingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=airg_AtTheMarketOfferingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552592581376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Based Compensation - Schedule Of Stock Based Compensation Expenses (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-based payment arrangement, expense</a></td>
<td class="nump">$ 1,207<span></span>
</td>
<td class="nump">$ 968<span></span>
</td>
<td class="nump">$ 2,253<span></span>
</td>
<td class="nump">$ 1,949<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember', window );">Cost of goods sold</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-based payment arrangement, expense</a></td>
<td class="nump">65<span></span>
</td>
<td class="nump">29<span></span>
</td>
<td class="nump">123<span></span>
</td>
<td class="nump">44<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember', window );">Research and development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-based payment arrangement, expense</a></td>
<td class="nump">400<span></span>
</td>
<td class="nump">280<span></span>
</td>
<td class="nump">728<span></span>
</td>
<td class="nump">517<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember', window );">Sales and marketing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-based payment arrangement, expense</a></td>
<td class="nump">75<span></span>
</td>
<td class="nump">115<span></span>
</td>
<td class="nump">155<span></span>
</td>
<td class="nump">276<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember', window );">General and administrative</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-based payment arrangement, expense</a></td>
<td class="nump">$ 667<span></span>
</td>
<td class="nump">$ 544<span></span>
</td>
<td class="nump">$ 1,247<span></span>
</td>
<td class="nump">$ 1,112<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552586211712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Based Compensation - Summary of Outstanding Stock Option Activity (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract', window );"><strong>Share-Based Payment Arrangement [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of stock options, Beginning balance</a></td>
<td class="nump">2,104<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross', window );">Number of stock options, Granted</a></td>
<td class="nump">408<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Number of stock options, Exercised</a></td>
<td class="num">(8)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod', window );">Number of stock options, Expired/Forfeited</a></td>
<td class="num">(22)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Number of stock options, Ending balance</a></td>
<td class="nump">2,482<span></span>
</td>
<td class="nump">2,104<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber', window );">Number of stock options, Vested and exercisable</a></td>
<td class="nump">1,639<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber', window );">Number of stock options, Vested and expected to vest</a></td>
<td class="nump">2,482<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price, Beginning balance</a></td>
<td class="nump">$ 10.2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, Granted</a></td>
<td class="nump">5.07<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, Exercised</a></td>
<td class="nump">3.1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice', window );">Weighted average exercise price, Expired/Forfeited</a></td>
<td class="nump">8.28<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price, Ending balance</a></td>
<td class="nump">9.4<span></span>
</td>
<td class="nump">$ 10.2<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice', window );">Weighted average exercise price, Vested and exercisable</a></td>
<td class="nump">11.12<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice', window );">Weighted average exercise price, Vested and expected to vest</a></td>
<td class="nump">$ 9.4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2', window );">Weighted average remaining contractual term (in years)</a></td>
<td class="text">6 years 4 months 24 days<span></span>
</td>
<td class="text">6 years 2 months 12 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1', window );">Weighted average remaining contractual term (in years), Vested and exercisable</a></td>
<td class="text">5 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Intrinsic value of stock options exercised</a></td>
<td class="nump">$ 18<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding', window );">Aggregate Intrinsic Value, Ending Balance</a></td>
<td class="nump">1,552<span></span>
</td>
<td class="nump">$ 329<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding', window );">Aggregate Intrinsic Value, Beginning Balance</a></td>
<td class="nump">$ 329<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1', window );">Weighted average remaining contractual term (in years), Vested and expected to vest</a></td>
<td class="text">6 years 4 months 24 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1', window );">Aggregate intrinsic value vested and exercisable</a></td>
<td class="nump">$ 657<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Stock options expected to vest aggregate intrinsic value</a></td>
<td class="nump">$ 1,552<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For presentations that combine terminations, 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 or that expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of outstanding award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552590502704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Based Compensation - Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">3 Months Ended</th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share Based Compensation Arrangement By Share Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Stock options vested and expected to vest aggregate intrinsic value</a></td>
<td class="nump">$ 1,552,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,552,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Proceeds from stock issued during period</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 76,000<span></span>
</td>
<td class="nump">$ 137,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_EmployeeStockMember', window );">Employee Stock Purchase Plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share Based Compensation Arrangement By Share Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod', window );">Offering period of employee stock purchase plan</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">6 months<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate', window );">Limited percentage of annual contribution</a></td>
<td class="nump">20.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate', window );">Percentage of discount and fair value of option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">15.00%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan', window );">Proceeds from stock issued during period</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans', window );">Employee Stock Purchase Plan shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22,852<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_EmployeeStockMember', window );">Employee Stock Purchase Plan | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share Based Compensation Arrangement By Share Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent', window );">Purchase price percentage of market value of common stock</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">85.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember', window );">Employee Stock Option</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share Based Compensation Arrangement By Share Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant-date fair value of options granted</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2.82<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Stock options vested and expected to vest aggregate intrinsic value</a></td>
<td class="nump">1,600,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,600,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1', window );">Total unrecognized compensation cost, period for recognition</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 6 months<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Total unrecognized compensation cost</a></td>
<td class="nump">2,400,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,400,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Unit (RSU)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share Based Compensation Arrangement By Share Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms', window );">Weighted average remaining contractual term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2 years 9 months 18 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Total unrecognized compensation cost</a></td>
<td class="nump">4,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,200,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=airg_PerformanceStockUnitMember', window );">Performance stock unit (PSU)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share Based Compensation Arrangement By Share Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms', window );">Weighted average remaining contractual term</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">9 months 18 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions', window );">Total unrecognized compensation cost</a></td>
<td class="nump">$ 10,693<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,693<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_DescriptionOfPerformanceStockUnit', window );">Description of performance stock unit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">Service as well as market and performance conditions determine the number of PSUs that the holder will earn from 0% to 150% of the target number of shares. The percentage received is based on the Company common stock price targets over a three-year service period. Additionally, the Company must achieve or exceed 75% of the year to date revenue target measured at the end of the quarter in which the price target is achieved.<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_DescriptionOfPerformanceStockUnit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Description of performance stock unit</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_DescriptionOfPerformanceStockUnit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Discount rate from fair value on purchase date that participants pay for shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for equity-based awards excluding options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (e)(1)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The highest percentage of annual salary that an employee is permitted to utilize with respect to the plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Purchase price of common stock expressed as a percentage of its fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued during the period as a result of an employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate change in value for stock issued during the period as a result of employee stock purchase plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsidiarySaleOfStockAxis=us-gaap_EmployeeStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsidiarySaleOfStockAxis=us-gaap_EmployeeStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_EmployeeStockOptionMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=airg_PerformanceStockUnitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=airg_PerformanceStockUnitMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552592875840">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Based Compensation - Summary of Outstanding Restricted Stock Unit Activity (Details)<br> shares in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jun. 30, 2024 </div>
<div>$ / shares </div>
<div>shares</div>
</th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember', window );">Restricted Stock Unit (RSU)</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share Based Compensation Arrangement By Share Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Restricted stock units, Beginning balance | shares</a></td>
<td class="nump">706<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Restricted stock units, Grants | shares</a></td>
<td class="nump">484<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Restricted stock units, Vested and released | shares</a></td>
<td class="num">(196)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Restricted stock units, Forfeited | shares</a></td>
<td class="num">(64)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Restricted stock units, Ending balance | shares</a></td>
<td class="nump">930<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value, Beginning balance | $ / shares</a></td>
<td class="nump">$ 6.97<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value, Grants | $ / shares</a></td>
<td class="nump">5.14<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value, Vested and released | $ / shares</a></td>
<td class="nump">7.83<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value, Forfeited | $ / shares</a></td>
<td class="nump">5.77<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value, Ending balance | $ / shares</a></td>
<td class="nump">$ 5.92<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AwardTypeAxis=airg_PerformanceStockUnitMember', window );">Performance stock unit (PSU)</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share Based Compensation Arrangement By Share Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Restricted stock units, Beginning balance | shares</a></td>
<td class="nump">110<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod', window );">Restricted stock units, Grants | shares</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Restricted stock units, Vested and released | shares</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Restricted stock units, Forfeited | shares</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Restricted stock units, Ending balance | shares</a></td>
<td class="nump">110<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value, Beginning balance | $ / shares</a></td>
<td class="nump">$ 1.79<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value, Grants | $ / shares</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value, Vested and released | $ / shares</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value, Forfeited | $ / shares</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Weighted average grant date fair value, Ending balance | $ / shares</a></td>
<td class="nump">$ 1.79<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=airg_PerformanceStockUnitMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=airg_PerformanceStockUnitMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552594828592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Based Compensation - Company's share-settled obligation RSU grants (Details) - Restricted Stock Unit (RSU) - USD ($)<br> shares in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems', window );"><strong>Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross', window );">Grant date fair value</a></td>
<td class="nump">$ 70,900<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 195,400<span></span>
</td>
<td class="nump">$ 949,200<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross', window );">RSU shares granted and vested</a></td>
<td class="nump">14<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">45<span></span>
</td>
<td class="nump">187<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 1D<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-1D<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480483/718-10-35-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate value of stock related to Restricted Stock Awards issued during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockUnitsRSUMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552680155712">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies - Additional Information (Details) - USD ($)<br> $ in Millions</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_CommitmentAndContingenciesLineItems', window );"><strong>Commitment And Contingencies [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_AccrualWarrantyExpense', window );">Warranty accrual expense</a></td>
<td class="nump">$ 0.1<span></span>
</td>
<td class="nump">$ 0.1<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_AccrualWarrantyExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accrual Warranty Expense</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_AccrualWarrantyExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_CommitmentAndContingenciesLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commitment and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_CommitmentAndContingenciesLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552594292000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Commitments and Contingencies - Schedule of liability recorded related to severance and exit costs (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract', window );"><strong>Commitments and Contingencies Disclosure [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_SeveranceAndExitCosts1', window );">Opening Balance</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 50<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_AccruedExpenseOfSeverancCosts', window );">Accrued to expense</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_PaymentOfSeveranceCosts', window );">Payments</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(50)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_airg_SeveranceAndExitCosts1', window );">Closing Balance</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_AccruedExpenseOfSeverancCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accrued expense of severanc costs</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_AccruedExpenseOfSeverancCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_PaymentOfSeveranceCosts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Payment of severance costs</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_PaymentOfSeveranceCosts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_airg_SeveranceAndExitCosts1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Severance and Exit Costs 1</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">airg_SeveranceAndExitCosts1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>airg_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552591754880">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Concentration - Additional Information (Details) - Customer Concentration Risk - Major Customers<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jun. 30, 2024</div></th></tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Net Revenue</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Trade Accounts Receivable</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">10.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478785/954-310-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=airg_MajorCustomersMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=airg_MajorCustomersMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552594876688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Concentration - Schedule of Concentration of Sales and Accounts Receivable (Details) - Customer Concentration Risk<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Net Revenue | Customer A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">24.00%<span></span>
</td>
<td class="nump">9.00%<span></span>
</td>
<td class="nump">20.00%<span></span>
</td>
<td class="nump">12.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Net Revenue | Customer B</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="nump">16.00%<span></span>
</td>
<td class="nump">6.00%<span></span>
</td>
<td class="nump">17.00%<span></span>
</td>
<td class="nump">7.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Trade Accounts Receivable | Customer A</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">27.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17.00%<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember', window );">Trade Accounts Receivable | Customer B</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskLineItems', window );"><strong>Concentration Risk [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskPercentage1', window );">Concentration risk percentage</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14.00%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 310<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478785/954-310-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskPercentage1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-21<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-20<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 18<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-18<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-20<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskPercentage1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByTypeAxis=us-gaap_CustomerConcentrationRiskMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_SalesRevenueNetMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=airg_CustomerAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=airg_CustomerAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=airg_CustomerBMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=airg_CustomerBMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskByBenchmarkAxis=us-gaap_AccountsReceivableMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552593180080">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Concentration - Schedule of Concentration of Fixed Assets by Geographical Regions (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Property and equipment, net</a></td>
<td class="nump">$ 2,220<span></span>
</td>
<td class="nump">$ 2,507<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember', window );">North America</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Property and equipment, net</a></td>
<td class="nump">2,038<span></span>
</td>
<td class="nump">2,295<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_AsiaPacificMember', window );">Asia Pacific (APAC)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Property and equipment, net</a></td>
<td class="nump">71<span></span>
</td>
<td class="nump">86<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=us-gaap_EMEAMember', window );">Europe, Middle East and Africa (EMEA)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems', window );"><strong>Revenues from External Customers and Long-Lived Assets [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncurrentAssets', window );">Property and equipment, net</a></td>
<td class="nump">$ 111<span></span>
</td>
<td class="nump">$ 126<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncurrentAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncurrentAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_NorthAmericaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_AsiaPacificMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_AsiaPacificMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=us-gaap_EMEAMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=us-gaap_EMEAMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552591298960">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue - Summary of Disaggregated Revenue By Market Group (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">$ 15,184<span></span>
</td>
<td class="nump">$ 15,830<span></span>
</td>
<td class="nump">$ 29,415<span></span>
</td>
<td class="nump">$ 32,274<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember', window );">North America [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">9,337<span></span>
</td>
<td class="nump">9,438<span></span>
</td>
<td class="nump">19,361<span></span>
</td>
<td class="nump">19,606<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=airg_ChinaIncludingHongKongAndTaiwanMember', window );">China Including Hong Kong and Taiwan [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">5,397<span></span>
</td>
<td class="nump">6,059<span></span>
</td>
<td class="nump">8,700<span></span>
</td>
<td class="nump">12,028<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=airg_OtherCountriesMember', window );">Other Countries [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">450<span></span>
</td>
<td class="nump">333<span></span>
</td>
<td class="nump">1,354<span></span>
</td>
<td class="nump">640<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember', window );">Transferred At Point In Time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">14,507<span></span>
</td>
<td class="nump">14,795<span></span>
</td>
<td class="nump">28,032<span></span>
</td>
<td class="nump">30,639<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember', window );">Transferred Over Time</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">677<span></span>
</td>
<td class="nump">1,035<span></span>
</td>
<td class="nump">1,383<span></span>
</td>
<td class="nump">1,635<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=airg_EnterpriseMember', window );">Enterprise</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">8,615<span></span>
</td>
<td class="nump">7,366<span></span>
</td>
<td class="nump">17,494<span></span>
</td>
<td class="nump">15,803<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=airg_ConsumerMember', window );">Consumer</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">4,827<span></span>
</td>
<td class="nump">6,189<span></span>
</td>
<td class="nump">8,338<span></span>
</td>
<td class="nump">11,321<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_MajorCustomersAxis=airg_AutomotiveMember', window );">Automotive</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales</a></td>
<td class="nump">$ 1,742<span></span>
</td>
<td class="nump">$ 2,275<span></span>
</td>
<td class="nump">$ 3,583<span></span>
</td>
<td class="nump">$ 5,150<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=srt_NorthAmericaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=srt_NorthAmericaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=airg_ChinaIncludingHongKongAndTaiwanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=airg_ChinaIncludingHongKongAndTaiwanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=airg_OtherCountriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=airg_OtherCountriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredAtPointInTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TimingOfTransferOfGoodOrServiceAxis=us-gaap_TransferredOverTimeMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=airg_EnterpriseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=airg_EnterpriseMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=airg_ConsumerMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=airg_ConsumerMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_MajorCustomersAxis=airg_AutomotiveMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_MajorCustomersAxis=airg_AutomotiveMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.2.u1</span><table class="report" border="0" cellspacing="2" id="idm140552591605472">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenues - Additional Information (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue from Contract with Customer, Excluding Assessed Tax</a></td>
<td class="nump">$ 15,184,000<span></span>
</td>
<td class="nump">$ 15,830,000<span></span>
</td>
<td class="nump">$ 29,415,000<span></span>
</td>
<td class="nump">$ 32,274,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerRightToRecoverProduct', window );">Contract with Customer, Right to Recover Product</a></td>
<td class="nump">100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">100,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Contract with Customer, Liability, Current</a></td>
<td class="nump">30,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">30,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 17,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Recognized revenue remaining performance obligations</a></td>
<td class="nump">200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueLineItems', window );"><strong>Disaggregation Of Revenue [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Revenue from Contract with Customer, Excluding Assessed Tax</a></td>
<td class="nump">$ 9,300,000<span></span>
</td>
<td class="nump">$ 9,400,000<span></span>
</td>
<td class="nump">$ 19,300,000<span></span>
</td>
<td class="nump">$ 19,500,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerRightToRecoverProduct">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of right to recover product from customer on settling refund liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 27<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-27<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerRightToRecoverProduct</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 91<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding 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.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>77
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( $.+!ED'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 #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    " !#BP99Y7H)7.\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9+/
M:L,P#(=?9?B>*''_,$R:R\9.+0Q6V-C-R&IK%B?&UDCZ]G.R-F5L#["CI9\_
M?0)5Z!5V@9Y#YRFPI7@WN*:-"OU&G)B] HAX(J=CGA)M:AZZX#2G9SB"U_BA
MCP2R*-;@B+71K&$$9GXFBKHRJ#"0YBY<\ 9GO/\,S00S"-20HY8CE'D)HAXG
M^O/05' #C#"FX.)W@<Q,G*I_8J<.B$MRB'9.]7V?]XLIEW8HX6VW?9G6S6P;
M6;=(Z5>TBL^>-N(Z^77Q\+A_$K4LY#(K[K-BO9>EDBNU6KZ/KC_\;L*N,_9@
M_['Q5;"NX-==U%]02P,$%     @ 0XL&69E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!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 <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>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>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;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_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.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/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&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>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(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.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
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<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
M" !#BP99U/5UQ^D%  #.'P  &    'AL+W=O<FMS:&5E=',O<VAE970Q+GAM
M;+69_W.;-AB'_Q6=M]MM=W4 X6_I'-\Y).F\M6D:9]UUN_V@@&QS!>0*8<?_
M_5X!!K<G7GM<_4MB,._'>D!"#VB\%?)SNN)<D9<X2M*KSDJI]6O+2OT5CUEZ
M(=8\@6\60L9,P:9<6NE:<A;D17%D4=L>6#$+D\YDG.][D).QR%04)OQ!DC2+
M8R9WUSP2VZN.T]GO> R7*Z5W6)/QFBWYG*L_UP\2MJPJ)0ACGJ2A2(CDBZO.
MU'GMN:XNR(_X&/)M>O"9:)1G(3[KC5EPU;%UBWC$?:4C&/S;<(]'D4Z"=GPI
M0SO5;^K"P\_[]+L<'F">6<H]$?T5!FIUU1EU2, 7+(O4H]C^QDN@OL[S193F
M?\FV.+;7ZQ _2Y6(RV)H01PFQ7_V4IZ(PP+:4$#+ OI-@=/T"VY9D)\YJVA9
MCG7#%)N,I=@2J8^&-/TA/S=Y-="$B;Z,<R7AVQ#JU.1&^!E<%458$I#;1(5J
M1V9)T3WT:>Z2=,4D3\>6@E_3-99?)E\7R;0A>4#>B42M4D@->/!UO06MK)I*
M]TV]IFC@[UER05S[%:$V[1G:XQTKCZ#<,95_U1RW.G-NGN<VY'EBPR7Y9_J<
M*@F=\5_3&2H2>N8$/4)?IVOF\ZL.#,&4RPWO3'[ZP1G8OYKPOE/85["]"K:'
MI=?=Y&FWYB92O-RQNQ],2&A52Z1^A=1'VS0%GB!GNHO8TL2$UR]8E)I.A8>6
MM80:5%"#TZ[3 Y>AT",Z('!?,%XR/*D:;8W##:UOR3FL.(>G<=Z%J<\B\HDS
M2>Y@I_%&A6<U\:%5+?E&%=_H?_&5E[.1$$_[0$U\:$U+OLN*[Q)MT9-D09@L
MR7P7/XO(1(373V>/;TQ,:%5+)L>NYU(;;54Y?S[R9:@G!;A\]RPVCKTC01IO
M.KM_16;WWH6)$Z]O"WH@#<XIH![T4 F]<P8S_ OY@^^,J'B4;=L.'=)1S]A'
M\>*VG+3FI&CCO$S*;^\RV"WU2%RWZ]"NZQA!T<JVH+7+.*@]5!>TY'WD:R%5
M/D 54^9;SI'$3T9G]/"JMIRUQCBXB%2&J[@LGB#TM61[<",GGMC$>0ZU<6JW
M<7 Y*3GOP@@<U8/>NA32/#KQG'N1=)GOPU.7A)"@"#3RGL-ZG%I['-Q62M[Y
M"IX'B2?B-4O,N'A,H]/A=6WQ:MMQ<$79X\4,\*ZS%+Y.S8,2SU$R,^.=PW6<
M6G8<W$]*O-N8RZ6^Z;R!!+5"KR,>V'P=SR$]3FT]#JXM!\.2W&?QLW$L71\)
M@0FSZPY'??,\<@X#HK4!T9,,Z(F]D%D -]1P$?K%BX1FW".1E_UNKT_=T<@H
M"'AQ6]Y:A.A)(C0- DA/7^T_D+=P''F?&"7A2*0[<!SR$08Z+P4+IB@)$Y61
M_AQZ1&L]HKC/H/1/6V&DQR/G6:@X<?JV$?<<DD1K2:(G25*%Z^DM(<F3V"9&
M5#QNSA)R$\+,;$0]AR?1VI/H29Y4H6H-Y)KU08I-F/CFCHUG>E,CZ#E$B=:B
M1$\2I0KT0:0*3/_O< W33V#&Q!,OJ>.:>^\Y%(G6BD1QM\E[ZU1RU@R&!PP'
M9JQSJ!&MU8CB2O-6Y.]'5B+!IM0C(?WA9=>FMIGO'&Y$:S>B)[D1N% ,L^A<
M"?\S#,?\G3QYGRGHK8E^DV*$_DZR4YZ'(JV?I^G5H<W$@9X.M^KAV-J8&&LM
MHKC15&^[/F1,PI-9M"N?0(U4>%:3XN)E+2^C6XN1BUM,_0)=LB0-<R5J9CP2
MUJBW>%U;R-J&7%Q=GD(%8BL6Q*$_/_]"YMS/)'1>(R&>5';WM.CN:R;)AD49
M)S_:%_J%$5G#8VV^,&4\"^>P(K>V(O>(PI38Y/;%7[%DR1O? AX)NI_.;Z;&
M=1.\L"WAP<K722(T2WPAH0OG@G_@")[(0%MWC?/,D?2;6R/R=Q4BZV#%5#]U
MY@O)*?%URXO%TVIOM5@]S9=HK?KP8J7['=,/K2F)^ )*[8LAW"%EL7A<;"BQ
MSM=?GX52(LX_KC@+N-0'P/<+(=1^0_] M80_^0]02P,$%     @ 0XL&62P'
M.L83!@  TA@  !@   !X;"]W;W)K<VAE971S+W-H965T,BYX;6RM65%OVS80
M_BN$6Q0)8,<D)5ERXAAH$ZQKT6U!TV[/C$3'1"71)2D[V:\?*<N2+%)RBN4E
MEL2[XW=WY'U'9K'CXH=<4ZK 4Y;F\GJT5FIS.9W*>$TS(B_XAN9Z9,5%1I1^
M%8]3N1&4)*52EDXQA+-I1E@^6B[*;W=BN>"%2EE.[P201981\?R!IGQW/4*C
MPX>O['&MS(?I<K$AC_2>JN^;.Z'?IK65A&4TEXSG0-#5]>@]NKSQH%$H)?YF
M="=;S\"X\L#Y#_/R*;D>08.(IC16Q@31/UMZ0]/46-(X?E9&1_6<1K']?+#^
M6^F\=N:!2'K#TW]8HM;7HV@$$KHB1:J^\MWOM'(H,/9BGLKR+]A5LG $XD(J
MGE7*&D'&\OTO>:H"T5) ?H\"KA3P2Q6\2L$K'=TC*]VZ)8HL%X+O@##2VIIY
M*&-3:FMO6&[2>*^$'F5:3RUO>)[HI- $Z"?)4Y80I5\^D)3D,07WQK $9]]S
M4B1,CYR#"?A^?PO.WIZ#MX#EX-N:%Y+DB5Q,E<9CK$[C:NX/^[EQS]R?B_P"
M>' ,,,2^0_UF6/V6QEH=E>K>L?I41Z$.!:Y#@4M[7E\H"B%HK@"14OM\Z?)G
M;\!W&S [[E)N2$RO1WI+22JV=+1\]P;-X)7+NU<R=N2K5_OJ#5E?WA"Y!CIK
M(#8/]&?!MB35SCNSN#<U*TV9LK!=1CZ:+:;;MC>V4!A%J!8Z0NG7*/U!E-\$
M2:C>Z3$O-#1=-6*J<3ZD= QRJEQ0]_:"-M29CSM0;:'0"P,WU*"&&@Q"_91O
M=?BX8-09PL":TD.^W\%E"V$?>FY<LQK7;!#7G: ;PA) GS9FF\LRZ5RMJ=#5
MI;W>7:AG%B"$X+R#VB'D8^Q&'=:HP^'$<T72%P ,[8@A#Z$.0EL*S6'?VHQJ
MB-&)P&HJ%>JY#*C90!M-;JIW848V4HQA!ZA#*("A&^>\QCD?Q/F%$E/=A:&S
M"5]-"DD' CIW9-SO;G6'D#?OR3B"#1'!0: ?.4]V+$V=/ +M*6'D!QU@)\6.
MH;4X$IW8W(KDCTP7GBITO6FN#+41S,*@NR =4A'V_!Z8#7^A0<I8_E5NZ_[D
M5NI'X9EUBY!+*(0]T!JZ0<-\L]_0 ] \:U8?^U[8!><2PWC> Z_A&>2_B/I3
M1AY8RI2NXD[^1X-\]:L-P&M9.W:Z82PT3%GO#[RZ(<^&5)T.VYP41!9Q.:1F
M?MA7$1KJ0L/<I0&*0M>NF&>&O(CI^YT@'12$YU9QL*5"'/5@;(@*#3/5 6-K
MY304ZP3KX"P<60O=Q5EXUH.VX2PT3%KW:R[41%&1@=3P0ANV$ZS-2.VFKL+J
M$)KUU=R&MM P;QVW *=P.B@)>M"*JBTVG\][&@'<,!<>9JY;NJ(:9@(4>:J1
M/CO/#PZ""KM=@$LHZ /9<!@>YK O/'_\A<QCFZ(\&ZF+[7IH#+>.8<,TML_\
M*7P.FM)4W\VX6PSU;"3<\!D^<7[B6<:4Z?CVVSWFN6+Y(\UC4P#._N2* N2=
M.Y$/6G97?> \/_Y_0\?>-W2)A^GR7O'XQYJG"17RW9L(H_"J;('5L_O4_*JL
M^5K6CGUO6!,/LZ;)/,^!-"$H4T^2A!EFTFO6G+0F+->'Z@W3:WBL/PB@#]8%
M!6_A!82PO*R 8_T$Y)H(PQ6%TC69_4N3*X#0./+Q881):8C%3*$'/(@. [Q0
M4O>CB5YO@"CPN<AI?8MR=9"'"+H,P;$_F_<8NM7'Z^Q!=Y"'.Y4+9S)MKD<8
M^E9/X))#09N6CQ/0= 5XN"OX)G3]*L3S/@5C@SSF4EV"P*]#U U+Z?P+_;/;
MA$G@66WR2;%C[YI^ I_L)XJL2,M+N(2N6,R<YPQL]P>3R/.C[N'<)1=& >ZC
MDZ:3P,.=1!MG=9V@NS1!U^:&=TO!6<JE/ <LUY^=G26VNX9)M[-PR/1<A^"F
MK\ OZ2MD;P5S8K7[!@\%<XL.76(^ZH'L-?V%-]Q?6(18+N=?<Z&:HGT_YSI@
M.<7L ]:T=>%L;OO_(.*1Y5*W%BNM!R]"'0.QOT#?ORB^*>^@'[A2/"L?UY1H
MZ$9 CZ^X9LSJQ5QKU__&6/X'4$L#!!0    ( $.+!ED$Z,U:QP(  .L'   8
M    >&PO=V]R:W-H965T<R]S:&5E=#,N>&ULK95=;]HP%(;_BI5-4RMUY!-H
M.XC44E7;I$FHK-O%M N3'(A5Q\YL!]K]^AT[-((VT%8:%\0?YWW]G!/''JVE
MNM,%@"'W)1=Z[!7&5.>^K[,"2JI[L@*!,PNI2FJPJY:^KA30W(E*[D=!,/!+
MRH27CMS85*4C61O.!$P5T7594O5P"5RNQU[H/0[<L&5A[("?CBJZA!F8VVJJ
ML.>W+CDK06@F!5&P&'L7X?ED:.-=P \&:[W5)C:3N91WMO,E'WN!!0(.F;$.
M%!\KF #GU@@Q_FP\O79)*]QN/[I?N]PQESG5,)'\)\M-,?9./9+#@M;<W,CU
M9]CDT[=^F>3:_9-U$SL\\TA6:R/+C1@)2B::)[W?U&%+$"9[!-%&$+U6$&\$
ML4NT(7-I75%#TY&2:Z)L-+K9AJN-4V,V3-BW.#,*9QGJ3#J1(L=W CG!EI:<
MY=1@YY)R*C(@,VNLR=&MH'7.<.:8'$VI F$*,"RC_)A\).^)3W2!HWKD&V2R
MSGZV6?^R63_:L_[76O1(')R0*(B2#OGDL/P*,I2'3A[ORGVL1%N.J"U'Y/SB
M/7XS@^GC)C5$+L@U$U@$1CF92LW<KOMU,==&X=[[W95JXYUT>]OO\5Q7-(.Q
MAQ^<!K4"+_WP+AP$G[H2_T]F.V6(VS+$A]QQ5Y0E9HN[+[L[(1559$5Y#5TY
M-T9#9V2/C%4:]((@"$?^:CN;%\-V.).6,WD#9[,'":U-(17["WD7;V/8WP+!
M Z_Y/4%^3>0.=;^E[A^DSK:H"=.ZN[#]9\N'X6D2/>?L"@S"_9B#%G/P]N+B
M1: -%3D3RR[H00=+[&">0'<$!LG@;"_TL(4>'H3^CE>9KM7#TSUA2":UZ4(>
M/B/I)QW +X8UN/[646ROP6]4+9G0A,,"A4%OB ZJN5J:CI&5.YWGTN!9[YH%
MWL:@; #.+Z0TCQU[X+?W>_H/4$L#!!0    ( $.+!EGF*9O^!08   D>   8
M    >&PO=V]R:W-H965T<R]S:&5E=#0N>&ULK5EM;]LV$/XKA%<,+9#$(O6>
M)09J2]LRK&O1M.N'81\4B[:%2J)'TDGV[T>]6++)DYIM^A)+RG-'/KSCW2/Q
MYHGQKV)'J43/15Z*V]E.ROWU?"[6.UHDXHKM::G^LV&\2*2ZY=NYV'.:I+51
MD<^)97GS(LG*V>*F?O:!+V[80>9923]P) Y%D?"_ES1G3[<S/#L^^)AM=[)Z
M,%_<[),MO:?R\_X#5W?SSDN:%;04&2L1IYO;V5M\'1.W,J@1OV?T29Q<HXK*
M V-?JYN[]'9F53.B.5W+RD6B?A[IBN9YY4G-XZ_6Z:P;LS(\O3YZ_[$FK\@\
M)(*N6/XE2^7N=A;,4$HWR2&7']G3S[0E5$]PS7)1_T5/+=::H?5!2%:TQFH&
M158VO\ESNQ G!LH/;$!: Z(;. ,&=FM@OW0$IS5P7CJ"VQK4U.<-]WKAHD0F
MBQO.GA"OT,I;=5&O?FVMUBLKJT2YEUS]-U-V<K%B9:K"3E.DK@3+LS21ZN9>
MJA^5#U(@MD'O]Y0G55P%>OVY3 YIIC!OT"7Z?!^AUZ_>(+%+.!4H*]&G'3N(
MI$S%!7IU=G\SEVJZU:#S=3NU93,U,C U&[UCI=P)%*LIIH!]-&[OC=C/U3)U
M:T6.:[4DHPY_.917R+8N$+&( \QG]7)S&Z+S_T:/__/H9XMA=XECU_[L 7]W
MY9H5M$\4],?;!R&YVOA_0J%NG#FPLZH:7HM]LJ:W,U7N!.6/=+;X_COL63]
MZSRELVA*9_%$SLXBXG01<<:\+^Z3G(+;K#'S:K.J<3PNL(L#E4./IXL*H0+;
M.D=%)HJ$#G;/4;&)L@GQ^Q'/^+D=/W>4WXH)656C+6.I0*I6035AV?AP3X8.
M+=O3N (@U\4:51.$?2_44#& "CW?AZEZ'55OE.I/G F!]IQM,@F1](Q!/>P$
M&DD 1/Q0(VF",/:)EALQ@")N.$#2[TCZHQ6D[2KE%M'G?=6#Q#7$U9^R<DSI
M+)K263R1L[-(!%TD@M%T^Z@\)GR]0ZI1*Y7UJ.3COJKI4#@"(Q5LC/7]98)4
MNNBEQ 1Y1-^IL0ER+3N$$R_LZ(;?+I0U5Z6-O](J!2&FH4G"=K3]LX) EE8.
M(Q/DN):O,35!+O8QS!1;O;RSQBL)+=4NRVNV2:H$9%8UZ4J<@X+, J(;Z(4%
M0KFA%KD(0'G8Z!0 RK>#@0#C$U6+1VE_8E*19D:% 4EC8PJ!Y]HZ:0#EZ-T@
M E#8"]Q 9PW ?#<<HDUZVF24]J]5V]AP5ARI*\D.4B;&^)?$U?-V!<(()CII
M .9B6V\B(,RRR #I7HCB<27Z7NXH1Z^S6I"^.88:["5X4ADZJ;=H4F_Q5-[.
M8])+43RN1>]*295?B9JH7*"2@MVD=7.>8;Z>A@!(;SD1!-(W<0R![ %9BGM=
MBL>%:9. ;=YUB0C2!=2B3A: &%7&Q%SJ[03RXPXP[64I'M>E;5FM^38T09:F
M7+PDND2 0'K?A#">I1,%0'BHDO;:%(\*KJ:2/M -X[1EBF3R/-! ?("OHTOM
M%0@CN@Z(()A2"T8U!6!.&-@#Q'LIB,>UX%U'ML_H!R4BU)L(G-* (-1?+0',
MI=%$  RV=#D(H )K@'(O!_&X'OR-2I2K>(/T0N-55G5*;*@#"$8,(0C!G- S
MY $ <RUO(+:D%X/$&NV41Z)(B8/FFQW8)<FHI/RW77)2;]&DWN*IO)W'HU>I
M9%RE+A.1K<$(-';!:0)85T3/N@&8WBY@F*/OK0'80"DEO2@EXZ(TRO*#!#_@
M+EO+;_*$809/$&;RA&%#/'L=2L9UZ)?Z4(*J]ZQ'I;VW]/A5_%!]7<]*M$[R
M]2%OWD=>L@LGU:J3>HLF]19/Y>T\;KU6)>-:=7@7FFH16Z&MOPZ#,$=O$1$(
M\XT/'B#,=@::'.E%*AD7J6.[$)"*$$\(!O"$8 !/"&;RG)\<;164;^LS18'6
M[%#*YK"B>]J=6[ZM3^NTYTM\O<+ \PA?Q\VI9.^^.21]E_!M5@J4TXT:RKKR
MU5QY<^[8W$BVKP_6'IB4K*@O=S1)*:\ ZO\;QN3QIAJ@._U=_ -02P,$%
M  @ 0XL&62S.U^TN P  90L  !@   !X;"]W;W)K<VAE971S+W-H965T-2YX
M;6RM5FUOFS 0_BL6JZ966@OA+6V6(#4OTSJM6]6LVX=I'QQP BO8F6V2]M_O
M#(2&Q$'5EB]@FWN>\]T]QM=?,_XH8D(D>LI2*@9&+.6R9YHBC$F&Q05;$@I?
MYHQG6,*4+TRQY 1'!2A+3=NR?#/#"36"?K%VQX,^RV6:4'+'D<BS#//G(4G9
M>F!TC,W"?;*(I5HP@_X2+\B4R(?E'8>96;-$24:H2!A%G,P'QG6G-^DJ^\+@
M>T+68FN,5"0SQA[5Y"8:&);:$$E)*!4#AM>*C$B:*B+8QI^*TZA=*N#V>,/^
MH8@=8IEA048L_9%$,AX8EP:*R!SGJ;QGZX^DBL=3?"%+1?%$Z\K6,E"8"\FR
M"@P[R!):OO%3E8<M /#H 78%L'<![@& 4P&<UWIP*X#[6@]>!2A"-\O8B\2-
ML<1!G[,UXLH:V-2@R'Z!AGPE5.ED*CE\30 G@Q&C$52=1 A&@J5)A"5,IA)>
M( <I$)O#IPQ$&"MUK CZS(1 IP\4YU$"MF?H'#U,Q^CTY R=H(2B;S'+!::1
MZ)L2=JC\F&&UFV&Y&_O ;AQTRZB,!9K KB(-?MR.]UOP)F2F3H^]2<_0;B7\
ME-,+Y%COD&W9KF8_H]?#'5TX_^=]\L_>&\EP:JTX!9]S@*\6Q;XF;FC(,H)^
M7L^$Y'#X?^EJ7[*[>G;U0^R))0[)P !B0?B*&,';-QW?>J]+_#')QL<DFQR)
MK%$BMRZ1V\8>?(&;I:K%J3JG9[HZE!1^0:'ND55P;GL=4,AJ.\$Z*]ORFE9C
MC95[Y5\VK28:*\_R7SPV8O7J6+U6.7Z5,>$H;.@PA9A[NIB]8VKOF&3C8Y)-
MCD36J(=?U\-OU1Y<W' M4[BU."<T?$;P)Z BQ65#$/V&RTS]/'35*8F]AM9V
MY+AO8NU(44/B[NBPC:01<[>.N=L:\VA/?;KPNMH#MW.41CJK_0.GL7*ONCO9
MFFBL- ?.W.H;,L(71<,FX$CE5);70KU:]X3712NTLS[L]$8=S?H8>LBRY7NA
M+QO06\P7"14H)7-P95UTH2B\;.K*B63+HFN9,0D]4#&,H0\F7!G ]SEC<C-1
M#NK..O@+4$L#!!0    ( $.+!EGS.U#5:PL  $AH   8    >&PO=V]R:W-H
M965T<R]S:&5E=#8N>&ULQ9UADYLX$H;_"N7;NMM4Q3$2"-NYF:E*#-3FZO9V
M:F>S]YG8S)B+#;. ,YM_?P(3RY+:;6O2R7Y)QC/-VT(O"/6#P%=/5?VQ6>=Y
MZ_VYW93-]6C=MH^O)Y-FN<ZW6?.J>LQ+^9?[JMYFK?Q8/TR:QSK/5OU&V\V$
M^WXTV69%.;JYZG]W6]]<5;MV4Y3Y;>TUN^TVJS^_S3?5T_6(C;[\XM?B8=UV
MOYC<7#UF#_E=WKY_O*WEI\E!955L\[(IJM*K\_OKT1OV.HUXMT$?\7N1/S5'
M/WO=KGRHJH_=AW>KZY'?M2C?Y,NVD\CD?Y_R1;[9=$JR'7\,HJ-#SF[#XY^_
MJ*?]SLN=^9 U^:+:_+=8M>OKT6SDK?+[;+=I?ZV>?LJ''1*=WK+:-/V_WM,0
MZX^\Y:YIJ^VPL6S!MBCW_V=_#AUQM $+3FS APVXL4$8GM@@&#8(S SBQ ;A
ML$%H9HA.;""&#82Q 3^UT]&P0=3W_;ZS^IZ.LS:[N:JK)Z_NHJ5:]T-O5[^U
M[."B[(ZLN[:6?RWD=NW-HBI7\CC)5Y[\J:DVQ2IKY8>[5OXG#Z"V\:I[^:E:
M?EQ7FU5>-__PDC]V1?O9^_%]F>U6A8Q^X8V]]W>Q]^,/+[QFG=5YXQ6E]]NZ
MVC59N6I>>C]HGZ\FK6QXEWZR'!KY=M](?J*1OU5MM@$V6^";+:KM5AZ\?>L]
MF=E[LY+ME<=SMO%NLV(UEJU:9(\%+!Z?:9,\CYM=_7DO#VR?X-N_62YWV]VF
M[^U?VG5>2P.V<G!8=V?MI]S[\=]5T[SPWI7+:IL#\NGE\G%^7RR+5A>9R /E
M<+3PP]'">]7PA.I=[^Y+[Y==V[2R1XORX:7W-G\HRE+^Z+W--EFYS+VLE3F7
MK[R O?2XSSGD.)JH&T]?-X_9,K\>R3YI\OI3/KKY^]]8Y/\3.@[V8J(7Z\;2
M3S?,GT;3J\FG8T/MJ+$(F1Z44+8K)1+3O H.7@6H5\J6#PZV[#6CHSX*YC,N
M]$Y:V%&,,3[C1H?;86,11*'1X^ANN/8XD#**_'EPR*GU97CHRQ#MR__(2_S^
M3!S.2ZCK0OOPXC,Q,[H.3>2XMS&E6$(IEI[K#,T&<;!!X,-/-]2.NXG$RI-F
MR-E5DW7C.>2&L(>$V=0X]!;"/HZMH!AMDVLG4XJE1&*:%]'!BPCU8KBX-OW%
M]5W3[*0G[;JN=@]K.>-LVKI8=M>>_=^SIZR&+_QH$M?+0&1YSJ?&^1=3)DPH
MQ5(B,<W-Z<'-Z>5N/A7M>IUO5M+'_02BK;Q2CH#]W,YK\K;=]'/#;FJ8[R>#
M>X-?>OT$ ?(93>_J\]0>7!@SC:;,F%"*I41BFM&S@]&S[V TY/#,-B4RS[[%
M#+@\6Z<HN@>NSE&*I41BFG/S@W/SRYTK]@/N3A9OM9?<W=XBIQXJZWKJS>TA
MUISU4>9+*,52(C'-/N:K2MO_*@-_SS8[T,!!5YO+!$9QLQB"(BPHQEOHZ@VI
M6DJEIKMSQ$$8ZD[25[/'M=+/67VHE0+0%V;Y$LP"WS>=84"UQ",F3'/L.*A<
MPO?#N=?M?1A'L[E@\$R=*5+ GH$*ADY^Z]+)I*" 0:1@'LY-*RY"!:1-2ZG4
M=+\4+6 X+B!$.W@F9\N"B^ .$ 991@H;J-1TRQ248#B5>![A879I#B&>(>PL
MXP'BP%&+E"X ^X!A'J8  \,)PT6@A]EL82S\*#![D++6CTG5$E*UE$I--TV1
M"(:CB+2J\^*A]):[NL[+Y6>OK;.RV63[6U>K_^V:MJMB0"MM9&!=OBF+_)A4
M+2%52ZG4=!L5@F X@[!G8/_:E7(L\Y')@4T"@JD_G9L63H&Q+!!SZ[)OQX%C
M&2D- /9A/&5,1"?&,E7I,[S4OW &=KZ3*4OH!;,Y@9R!F7T< V'0Y9RTNJ=2
MT_U2]3W#"_S+9V#G)\VD-3^SBWYPTFR'09:15O14:OK=4%72<[RD!V=@9]WA
M=CT/U8T<J.BANA&(@T8M?%><[VS:^X#5C5S5X1ROPR^:@7&@:N7<-^>P>"K7
M2S>I6D*JEI[M$-V-H_O]9ZIXASMNW"Z:YY$)@(>@" N*\48Y]S3M+?UO4:9S
M5:9SO$PGNNV&9W%>?F'7WM8@19DP(55+J=1T2U49S_$R'K-T_\OJL3OGL-MK
M> IG/^WRFIEU/VG&A%0MI5+3#540@>,0X6)#02=MN,"M0=1>MV#&Q'@;G?TA
MY054:KH_BA=PAZ4+W^)F-Y[?^6RT&<78.AM)L0*I6DJEIKNML +_'DL;0)NA
M=0C</%<!IF /IJ2+%4C54BHUW3Y%,3A.,;X"[G&;(5@U%B5 B$G5$E*UE$I-
MMU'!#8[#C6? /6[S! CN#6%GX1X0!Y;)I'P"V <,[@6*/ 0X>:"">W@:UTM5
M *Q4 . >$ :0(M*FI51JNE\*:P0XUGC>[578,DIRL AL<L"8SWS3,@ P ):1
M0@TJ-=TRQ3X"G'V<O;T*NV-3D("%S+PY&-@<1 X+?&[6S4 <N(;>#C,RID##
MQM.9X">(77#TG &.)"XB=@%P>YZ'PGJP@+*PCTG5$E*U]&R'Z&XHFA#@-,&%
MV 5 G>_/S)5E ; 2P(J*\68Y]S4I#Z!2TRU1/"!X/@]P8'9X%N=Q'WA (C+G
M3*0I$U*UE$I--U5!A. OA@AX?F>[(8A@S<M(*0*I6DJEIMNM*$+P5U&$ * (
M<_-!I0"@"&90C.^"LWVD%(%*3;=/483 X;$'E\7SN*[S66@3"1Z8+I)"!%*U
ME$I-=U%!A.#K'H$XN8(^L,OP:62>8C8?,&-BO'W.WI"B!BHU_0%9!21"'$A\
M!:<+ 1Q@8E0\N_-SLZ3/05S0_I0JH^Z.P@\ACA^@*6@AS:K*<GC%1W=-DP7N
MN%WGXVU6?\R[J]=]7LOZ5\Y2NJO;R3$2S^TZ1H8 D+!F*J0I$U*UE$I-MUIA
MBQ#'%A16GQQ(0QLBA#/K$7<;1EA!,;X7S@Z2KO&@4M,=5$ EQ($*_BA2"/IB
MTX3 %Q9U"J$7-T0S8=Z/ N(@Z@1D9>:X!V".F3^?G@#@X=$;&<YP#O?GB^">
M(UTY$0)$A06^U;^DL(14+:52TWU5L"0\\XX'.E".9W*V%@ F "@'P@!03MJT
ME$I-MTRAD!!'(<\#Y:%-)"!0/H2=!>5 '#AD 5G-(0M )0@H#Q5#"'&&<-E;
M9  <$-KK*/%4SO-A4G) JI92J>FF*7(0?K/U!R'P#(,)=O#LSCZ2L@-2M91*
M3?=1L8/P:Q8@P%,#8 $"$W-S#4D(+$#@?AA:-<ME"Q" K&-K5@7$S()P-H>'
M**&J>$&^K #L.CR-ZZ57 ,L*V"PT9U5 &'#I)6U:2J6F^Z7J>D&UK.#L1!C/
MY&P9M*S G@B3)DU(U5(J-=U:5<>+9RP_..\BL/P * 0%M/P * 2!.&C, K*:
M0Q80@A6"0E7+@F#Y@8#NM@/=0KK\@%0M(55+SW:([H8JRP7=\@,!+3\P'RM<
M"&CY@?7P(=XLY[XFK:BIU'1+CEZ:^%V6'^!9G*\/P&,.YI(2THP)J5I*I:9[
MJDIN\?RW+U[ZS!">PME0NVHVD2]IPH14+:52T_U4:$ X+"]P?61(V,C >IV+
ML!<0F#$QWD9G?T@I )6:[H^B .*;40 !4 #S[B:>W7G>04H!+FA_2I51=T?5
M]L)A70#UW4T\M_,P:5?NPGQN/29-F9"JI51J^DN'%:"('%ZB2'UW,[(!@IP3
MF^@ULM^W8$?%^'ZX>DBJEE*IZ1XJ:!&YOFKQ+$^*['<C0B@." -1'! 'E;50
MF%G70C$(BHM4_1^1O$#Q?->1OD Q BI] ,4!80"*(VU:2J6V]VMR])TJW7?L
M_)S5#T79>)O\7LK[KZ9RW^K]U];L/[358_\U*Q^JMJVV_8_K/%OE=1<@_WY?
M5>V7#]TWMQR^/.CF_U!+ P04    " !#BP99-BL&V_4'  ";)   &    'AL
M+W=O<FMS:&5E=',O<VAE970W+GAM;*U:;6_;-A#^*X0W#"U0UQ(EOV6)@3;=
ML Y;%S3K]IF1Z)BK)&HDE9?]^ATEV;+%$V-O_A)+\I%YCG>\Y^%9EX]2?=4;
MS@UYRK-"7XTVQI07DXE.-CQG^JTL>0'?K*7*F8%;=3_1I>(LK0?EV80&P6R2
M,U&,5I?ULQNUNI25R43!;Q3159XS]?R>9_+Q:A2.M@\^B_N-L0\FJ\N2W?-;
M;KZ4-PKN)KM94I'S0@M9$,775Z-WX<5U'-L!M<4?@C_JO6MB7;F3\JN]^9A>
MC0*+B&<\,78*!A\/_)IGF9T)</S=3CK:_4\[</]Z._N/M?/@S!W3_%IF?XK4
M;*Y&BQ%)^9I5F?DL'W_BK4-3.U\B,UW_)8^M;3 B2:6-S-O!@" 71?/)GMJ%
MV!L \^ #:#N ]@?$ P.B=D!4.]H@J]WZP Q;72KY2)2UAMGL1;TV]6CP1A0V
MC+=&P;<"QIG5M2Q2" I/"5QIF8F4&;BY-? !T3*:R#6Y9GI#?H2(:_+J2\&J
M5(#-:S(F7VX_D%??OB;?$E&0WS>RTJQ(]>7$ #([_R1I4;QO4- !%#/RJRS,
M1I,? $UZ.'X"'NW<HENWWE/OA#]7Q5L2!6\(#6B,X+D^?GCD@1/M5CFJYXN&
M5MDNX+I>P+62.8%=J)@1Q7V3QL((KB^P96NFC?%I[1:_T"5+^-4(]K#FZH&/
M5M]]$\Z"[S&?SS39P0K$NQ6(?;.O/D%%RJ1&<Z,9.:M'VK+SL!K'R]GB<O*P
MCQZQF@:S:&=U &NZ@S7U!N9=^A?LL2;1C82ZE,@B$1DG18O7/K77B8U@J>2#
M@ 0E=\_D564WC2A>'Q_,Z3F#>:;)#E9MMENUF3>8'SA,F@AF"S'F:#-ZNA<J
MNHA[X71MHICBP9SO8,V]L'ZQ\0)J2(4NI6:9+5T0,@B/>290F C_NQ*E#38&
M>NX "GJ078LPQ!$O=H@77L3O<JF,^*=>2(M6%(85]^(.$I!IS0VZ718NC-A9
M7M1HBJ-=[M NO6AOC4R^CBUIIB21.2@)/9@"2S<%Z#3J@72-PF6\Q$&&0<=H
MP0O9N>9* 4;#GD@FV)W(A'E&22E  /0P(C;S 81[G!N>%';83243J2?F[80'
M2"/:A^H:!0-0:0>5^J$FB:I.W4KMG(?1[X-U;8; =BP;OD"S&]@]7%LQLE>4
MZT6M06^38:A AV>EVW/-=K@8'>&&?L;]7;$4RDB2R,JR&Q1L+AX8E!;4\]B)
MQCBDLWD_:*Y9& Y4E;#CX-!+5JN/Q0,DDE00%A3;U,4VC_O%&;.:S@?J<]@Q
M7>BGNIMV:_(G6^YXDT?2;+@"=0Y5IC"^78N07.AL!-=HNIP-X.ZH,/1SX6\U
M1 \TE\QF?6 ^DT-8'=^%+Q#>-AU+]CR8BRYWC6>T+P<QJ\5\J#1W%!?Z.:ZN
M=T?P6^AR5S1WN,,U&B\6 V6.=@1'_02WQ;A7SKJTQ,!2E\-BAST0HV4XH,AH
M1W743W6_<) +^TA1?"YQC6,''V(4#20D[?B-^OGMTU;;MW(>5?,H9I>_QC1R
M: XU"X)X '='=?2T$Z6 &JJ/.830LW+<N68[7(6.XZB?XVXJE6R8+<LGZ1.*
ML=VTSRBHU6#D.K:C?K9S,@X+'8H:83@$-68UB+KC03H[*=_6HF!P4CXBW[S\
M>G*^G6FVPU7H6)7Z6?5&R83SM%T#9L90<<<Y4U]M3&6>@YS7]I $Z0AG$%B=
M-W7S ))S^P#,-,[(U*7;* CZI(Q8#?%)1\K43\HW[+GI@*RE(H_";#8R2RU6
M.$!QJQRSNB?8=D+TABE.0%>8K.X06N_L;K,;[Y$IO/U'$;9>3ON^8<2_''*O
MHW3JI_3#H/&\S.0SYVV@RK:"- 1:UB<R_L15(O3 +D0.K4'8]P0QF@WHY*CC
M_<C/^Y_\?2AL2Z(]19?HH\"1I8C5>$J'?.CT0.37 S_ /DB:G'E*ZN,: ;KE
M)&F/;K#\UL4WC:,VKQY85B>G#1#L::-$8K/1?H]ZA\B$?J(A-@-9%G5"(GI9
M2(@B4;7>>97RYNJU+?#_TR%704PCQR-,9LRB@>YHM->W]A)X7?9=Z&\P[-^3
M.WXOBL(FH&5C*'<R11V*W([*<MXO=(A52(/Y8L"C3C)$?LEPDD?<%@6O+ZY&
M6$S#?CE K)9Q/+27.B41^9O7MU59-C689;;IF6125U"; 7&RI6O(O^:W/BAL
M^"\,9^U*GVNVPQ7I5$KD/ZU_+("%><M;]MR.>HR<RONG2\1F-J"AHDX]1'[U
M<(!.\77E_MC5(G1)WM%YB,U0#>N$0+3XKPE5R&)<)]6>6H7-<;0,C+P2Y.0T
M.]-LA^O4*8K(KRA^VYT1L_[QUM:0*JN_J^6&LC\CC^5Z7&E?3S]"!(/33L",
M!AI<<2<JXB.:":<V>&-7'/3S$S&A ZW]N%,/\0N-\[;S<:BFK7A0]_"8W3-1
M:&,=V5-\&DI\71/W!#KJ%-)C=[PZ6CG$G7*(_<JA/EK9)>^3$@K2)?I%'/;)
M$[%:TOD0TDX-Q'XU\/F0'ZW>R:JT.<66QS9*][YH'V32GC6XRE&'71W@'!P0
MFW ^0*_QWB_6+S30I2V#N'A#]0(*W_W9&A$(B!4B$"9[KWGD'#+>OOT"V6\[
MJLVK$;NGNS=LWM7OE?2>OP\OKIOW9+IIFM=V?H6-!%L(ZMH:I@S>SF%-5?,F
M3'-C9%F_3'(GC9%Y?;GA+.7*&L#W:RG-]L;^@]W[2*M_ 5!+ P04    " !#
MBP99Y*>PD+,"  "%"0  &    'AL+W=O<FMS:&5E=',O<VAE970X+GAM;*U6
M;4_;,!#^*U:&)I &>0^L:R-1^@+3F"H8VV>37)N(Q.YLIX5_/]M)0UNY5<7Z
MI?'+\SSG\UU]UUU2]L(S (%>RX+PGI4),>_8-D\R*#&_H',@<F=*68F%G+*9
MS><,<*I)96%[CA/9)<Z)%7?UVH3%75J)(B<P88A798G96Q\*NNQ9KK5:>,AG
MF5 +=MR=XQD\@GB:3YB<V:U*FI= >$X)8C#M6==N9QPHO ;\SF')U\9(>?),
MZ8N:W*4]RU$'@@(2H12P_"S@!HI""<EC_&TTK=:D(JZ/5^HC[;OTY1ESN*'%
MGSP56<^ZLE *4UP5XH$N;Z'Q)U1Z"2VX_D7+&AN&%DHJ+FC9D.4)RIS47_S:
MW,,:P=U%\!J"MTT(=A#\AN ?2@@:0G H(6P(X:$^1 TA.M3"94.XU,&J;U>'
M9H %CKN,+A%3:*FF!CJ^FBTCDA.5B8^"R=U<\D0\P6]HP=$$F,YJD@ :Y#PI
M**\8H'/T]#A IR=GZ 3E!/W*:,4Q27G7%M*V4K"3QDZ_MN/ML..C>TI$QM&0
MI) :^*/]_&@/WY8^MXY[*\?[WE[![Q6Y0+[S!7F.%QC.<[.??H^9I+L[Z8/#
MK?L&^O!PZR;ZZ/]\'W_X\!NA\-L<]+6>_Y$<-*5:+1>8Y=3;W>%SG$#/DH\S
M![8 *_[\R8V<;Z8X'U-L<$RQX3'%1L<4&Q]);"-;@C9;@GWJ\4]9GN](0DM
MIS\HYV>F#*DE(BVABO$B/O="5R;K8CWT)E00AINH@0GE.5NHH0EU%5YMHD8&
M5/ UVD*-#:C0B=Y/7]^;O?;JE\!FNJ!SE-"*B/K/UZZV/<.U+I5;ZWVW,W0-
MZR/98]0MP;M\W:#(]V>6$XX*F$I3SL6EK&ZL+OKU1-"YKCG/5,@*IH>9[).
M*8#<GU(J5A-EH.V\XG]02P,$%     @ 0XL&6307BE=@ @  P@<  !@   !X
M;"]W;W)K<VAE971S+W-H965T.2YX;6R=E5MOVR 4@/\*\J0]M;7CW+O$4M)M
M6BMEBMIN>R;FV$;%X %NVG\_P G+IH1(>8FYG8_OG B8;85\416 1F\UXVH>
M55HWMW&L\@IJK&Y$ ]S,%$+66)NN+&/52,#$!=4L3I-D%->8\BB;N;&US&:B
MU8QR6$NDVKK&\GT)3&SG42_:#SS2LM)V(,YF#2[A"?2/9BU-+_840FO@B@J.
M)!3S:-&[74[M>K?@)X6M.F@CF\E&B!?;N2?S*+%"P"#7EH#-YQ7N@#$+,AJ_
M=\S(;VD##]M[^E>7N\EE@Q7<"?:+$EW-HTF$"!2X9?I1;+_!+I^AY>6"*?>+
MMMW:_C1">:NTJ'?!QJ"FO/OBMUT=#@(,YWA N@M(G7>WD;/\C#7.9E)LD;2K
M#<TV7*HNVLA1;O^4)RW-+#5Q.KLWY24@T;/$A/(2+:3$O 13=JUFL38[V'5Q
MOJ,M.UIZ@M9'*\%UI= 73H#\&Q\;,Z^7[O66:1#XT/(;U$^N4)JD@P"O[]/M
M.U[_!.]8FE=H\X[N.:&OE+28'<NZ@PZ.0^VYN54-SF$>F8.A0+Y"E'W\T!LE
MGP+* Z\\"-&SQY8!ZB6;X77O4!LMB&CT_T7N=,/  C,% ;&A%QL&.=\%O[Y
M+@P])S?R<J.+JO8,TIPB?,(MS#SG-O9NXXL+%_8+<\_Y3;S?Y*+:K02A!3UN
M%B:>,YMZL^G%E0O9A:DG[>*#>[4&6;K70Z%<M%QW5ZP?]0_4HKN7_R[O7K<5
MEB7E"C$H3&AR,S;'0'8O1M?1HG&W]$9H<^>[9F4>69!V@9DOA-#[CMW /]O9
M'U!+ P04    " !#BP99"KA22(T&   I$   &0   'AL+W=O<FMS:&5E=',O
M<VAE970Q,"YX;6RM6-MRVS80_16,.I-)9A3=[#@77V9D.6G33EHWKMN'3A\@
M<D6B!@$& "VK7]^S $7)MN2FT[[$(@CLY>S9LV!.EM;=^)(HB+M*&W_:*T.H
MWPV'/BNIDGY@:S)XL["ND@&/KACZVI',XZ%*#R>CT=&PDLKTSD[BVJ4[.[%-
MT,K0I1.^J2KI5N>D[?*T-^ZM%SZKH@R\,#P[J65!5Q2NZTN'IV%G)5<5&:^L
M$8X6I[WI^-WY(>^/&WY5M/1;OP5G,K?VAA\^YJ>]$0=$FK+ %B3^W-*,M&9#
M".-+:[/7N>2#V[_7UC_$W)'+7'J:6?V;RD-YVGO3$SDM9*/#9[O\CMI\7K&]
MS&H?_Q7+=N^H)[+&!UNUAQ%!I4SZ*^]:'+[FP*0],(EQ)T<QR@L9Y-F)LTOA
M>#>L\8^8:CR-X)3AHEP%A[<*Y\+9!?G,J3HB9!?BO/'8X+V0)A?GTBO/JY>.
M/)D@>=?),, M'QYFK8OSY&*RQ\61^&1-*+UX;W+*[Y\?(MPNYLDZYO/)DP:_
M;\Q '(SZ8C*:'#YA[Z##X"#:.]AC[R=72*/^BNGUQ<P:;[7*96(-<-A.G^'X
MH(PTF9):7&&10-'@Q>_3N0\.)/MC%T(I@,/= 7#CO?.US.BT5[,O=TN]LV??
MC(]&QT^D=]BE=_B4]?^GQ$^[^-$&$N.!^->N]IZ8*A1%H1P?33802^F%,IEU
MM75 /,>#""4E_/G<3&H%A3)*"ACZ)%U6@AU],7[[]M5Q=._H20,7I.52.N+C
MTZ9 XXGQ:V;8^&CP()A@"\)9ATX-I5"HO6_F7N5*.D7(%4;P%NY8M,@Y> M6
M( -V^.R;-Y/)Z'AFJUJ:53\^CH_7RTOJ5JQ;+]K&#=:KO\!$>U8 32DTA%B9
M0M3.WJH<02&7S!K#HG>KPDJ RPVC&P'43=Q,U9QR]")V5K4US-^^H+M SH#4
MT@0R1F*)<5-X*A)F?N7!=LY#!D%&SC4! P>%1<$,!=9?-M]BBS @]>1@&C9<
M[92G9%,VD#7+<@PI<S>$L;*=&2<[?GWL :/,OS32X;3G=&'X2H(SB@K;WZKY
M8 ^Y4O,B;U4CQLB3>\W-/F66):\<>6,D$ H1&8B5\>E7>P0/BZ[U_:;U2XE$
MYD0&5:!:ND0O-NQR[*9$E.O!U4 49,A)K5?\FFHVR?L:$U(1NUB??SN=7KY(
M:-6U5EE$VS7\+M&Y:+1,A45>D<N4-4X%U>YX?Y>5TA01U4KY.$6?7[V?O>"S
MTN6I4H!655MI(0'K.)B!F)$+8#TVI=F_1M1PL^?*9]KZ!G!C :\YI\2P37?]
M,W1/ <8(;&&[J0A:PU8JL-&Z<;X!8;G#?(.FWXG0 (W[.%&/P9W:%1F!OQEH
MC!:.>>0 //(3V'8[4214)R6#&#C#1:.U6)%T$ D?(^C']6W,[J,"FK:4AJ.$
M-FL.7S'$>/3R9^%+V^@<.0N^9/$A9/YG8](M)B(3/>^",])EF]!<*_^H+@_[
M;&I, T.?'T7SPR91U%NF5-'.;.L"@$%'G#@8QTE\(/IBX6PEEJ7*4HQSJ6,Y
MT_5R&Y-6(%G7(5H .D\*L&G 65?NV3:+=L[>-K_HLVVGKBO6:AFU#,O+TC)5
M[=*PHJV%>X7ZH9*Q'UKX!*:Y\3)+/9:D\)9\>-CSI!7N9>NADFT+S  ]6?!^
M\&^3^RZEPR7;M=W,A-0VBP8A"-6:DC&;:Q/!B;FGH"J+485<.3?I/87[%O9)
M9M)&O:IP40=G/RF,#&^#O"?$;5B10: %"MFF \V/UM%U:? PU_:,G9@C1M=_
M&SJ[!T16*EJLP4,(.66*A>YE)6_ 3!X)C6MWT1WTL>WIA<IX+H$+2.66;_I;
M1M;]'N5.R*)@O0P/U&P>!PYW!R2HMCZ-EZ0YW-D(@&T]#HTSU+$Z[94'[A!D
MUI:32PBMYF% +G*&&TCRJ.=5S("-R;8: W'MHU"]]P%TX7(Q5DE:.S<[]2(1
MEMUPS3:JZ^A+HUC:X1Z?9K'FJ#6C*JCSTL;;5'6J=+P7R,4")(AD3>K&(Z[J
M6G)-41S52LZ5W@RLS4AI+S&<)'O>=R9YR=L;W-<-'#:R+S90@4S31D-W-<L/
M] E#%6!O#K7%41::-<U"LS5,LBC=N0(&+HEA*,&-#6:#7??YX=;G&^Y+1?Q(
MC<9,2%]RW6KW'3Q-GW^;[>DC&C??0J$4FA8X.AJ\?M43+GV8IH=@Z_@Q.+<!
M=[#XDV]9Y'@#WB\L)D;[P ZZ_QTX^QM02P,$%     @ 0XL&65^U6'B!&P
M#U8  !D   !X;"]W;W)K<VAE971S+W-H965T,3$N>&UL[5Q;E]M&<OXK.+/)
M>N8<#C476;8E6^>,)"NK)+(=C;U^R,D#"#3)MD TC,N,Z%^?^JJJ+P#!D>SL
M9O.0%UM# MUUKZ^JJ_GUO6O?=UMC^NS#KJJ[;TZV?=\\??2H*[9FEW=+UYB:
MOEF[=I?W]&>[>=0UK<E+?FE7/;JZN'CR:)?;^N3YU_S9#^WSK]W05[8V/[19
M-^QV>;M_82IW_\W)Y8G_X)W=;'M\\.CYUTV^,;>F_ZGYH:6_'H552KLS=6==
MG;5F_<W)S>73%X_Q/#_P5VONN^3?&3A9.?<>?[PIOSFY $&F,D6/%7+ZWYUY
M::H*"Q$9O^J:)V%+O)C^VZ_^FGDG7E9Y9UZZZF=;]MMO3KX\R4JSSH>J?^?N
M_V*4G\^Q7N&JCO^;W<NSCZ]/LF+H>K?3EXF"G:WE__D'E4/RPI<71UZXTA>N
MF&[9B*E\E??Y\Z];=Y^U>)I6PS^857Z;B+,UE'+;M_2MI??ZY[>BC,RMLUN[
MJ>W:%GG=9S=%X8:ZM_4F^\%5MK"F^_I13_OAK4>%KOU"UKXZLO:3[*VK^VV7
M?5N7IAR__XCH#,1>>6)?7#VXX+\.]3*[OEAD5Q=7CQ]8[SHP?\WK71]9;X;+
M[#]O5EW?DK'\UQS#LM[C^?7@0$^[)B_,-R?D(9UI[\S)\S__Z?+)Q;,'J'T<
MJ'W\T.K_0U4]O/9WKC?9U3+[]#VR5T.+O_NMR3K[(=N)J@U4G9&B3%#4 L^T
M)MOF=R9;&5-GM2,3[DUK\RHKMGF]H>5ZQTN]=+LFK_=__M.75Y=?/.MHZ4A%
M'JEH/!5Y1S[8%:U=T;:VGEWCIJX'VNF=:5S;9Q0*X,_9Y<7YOV44U?B5M>T*
M>F1O\E99>&4*LUN9-KN^9#:NE]F/;5X:+XN.UBN,O<M7E<E^-EEC6H1(6G[C
M0&'1FM+VF;G+JR%' .H@5#>TZM6F)>+KDACH3$=RRXMM^"90KHM08.NWI+&N
M(R*(6N9^S\27AN1(<0%;WF\- J6GBM8GJ3=YUV?E8#)^F/3^ZV!(EK;C8%9"
M'!! 0>J#U4-06)%>WK2&OA\:1TY'#)*";4^+4,31D"H,-/F>@C3)8]VZW1R#
M=5[M?S-,;4YAN*(\D->%?* ,5@Y2$.8>>"!2#:JRO&FJ/1BG9<V'AHBB;Y(7
MLI:,#(:5RF3$]=82I:V%ZN,+()HVRLM?B ]ZELD8VA9B(S'1ZN!]0=965$,I
M^^^SCO:'H0;N$T'1<MT \DM:@QXRY8)W,;2<V^&=L"QV,P7I;$D6&+2EED_$
M5Y",:/:^M7U/&G?K=9:O26GD5#4E4FB#G*T+MD$\]-N\9XXK^YZ6W3I7PAQ'
M))*8=A0&EN0O$R64;ECUZZ'R=+ B3->31"VEGI(M;^'=SS5DC@YT)00MTKWH
M&SSHN:+%_ [+[$U]1X^34HC+&_:9FZ:U%5SP:@&Z_-M3+V]:5PY%+[*AC8<U
MS)FL(5OMZ07;PE3;'NNR-%K3$V;)W'U-EKJUC5_7*@'[#+&&O,'VY.%$(_E'
MW:U-BR4U6@5=JW2Q3B/QR=8]F,DZ^IZB6*]!8)'2KC1T8R+(&!#U.)Y%6? .
MQ,0YF-@'?TTY;;/3EV_/R)(+#3AP>Z)4W9H425".#39XZ&?T:4G_%]>+9!6.
MPNYO;#AFAJ ]XBZ<F;RRA]XM_-_69#&(Z609O9&@P#(H3,NR)E9[MM]%E)0&
M&](9HM.=:??G>7_>5)1%V4=2<;&-=@W(0=3EB-*25C:\$-2#")\+W*-W_8J0
MZH9,'J_GI03.H:Y<+MXKNJOS'7'(&S/1_=9U)B4YI61%B:)C:VQM]QYR<=6=
M9* 5TJ+/C+*K6DNR Y,',;?XFKYK397W(PG#F\ 2!;,#:^N2YS24P9F8-M8O
MB8AR1,E+:M#(&"1VRAO]B>A39K\.9$^T)HE(7.R>-J)@B"!)L9Q,RU:6#(ZM
M2CB\+5S?=V5>F45VT]K?7)TC I *O:(UTP67O,>7!(GNK!NZ:C]RS^CRK&"V
MG=(KA:*0T%8X2F.DMMK <_/*_L:)%]F5U$4)G4S0D"%-'1]DO'S;+60!.PJ*
M0^?5=,_@'=N2N5#$DJ=WAFR@?&CU45CYR!YKVW;]N:4X*?^B"DEWR$Y?OWG]
M_1D"[U[3CC@/IRZ2H%$WA C6HZ@@EF'GY<)>E?@R*8;,%E"A\[':YS5"+Q:L
M_DPYA3R1XA%G(DJK!= )K-6MR*2(L7%4HATH$=B=6IKF5E4\99LU[;$O*DB'
M+(TM29*A9, D 2.#TYHUW.^'EJI.A#D\\^VO@VTXJ8T^-N%C$!'-AL7$P(-C
M"ED=Q:1^I H ?"C\'##8*\&1ZOG;R,_0&60]!)$N)"V$/*)^8RAD4P" $1!0
M8DU0,MYS8)!P>F0AR+4R)*JMJT@I.Q+6G49+(3D8#_FYL0#/Q^@BZ:9D98IF
M>76.K.3.6TN%/'B#<VT=G'T)+)Q;!6@HW8ETCA&L3U)$W<GVA'%@(>7R(=G#
MK\V](B7BAU;F[X *>&=SQ]P!1RG:)_,K;%L,.XVN]$%I"X9KL$J*Z@+L=@P0
MB,>0;';YGNH'@D)BVO!7,GBR7(!?48Z(T5(R8'-<9Z>TLX,<[RW)A<RX/%M$
MEY)0+.&7HNBP&^3?P78XG3"?.X<@ST W 3 >Y^ZS#0>_5L"D!F8A)&?<TLP+
MD3135$0[0T.(G8GUBLA.20L4]\\F]<UGW3C.AZS+X9?V$12PS/Z%DM"]I5SU
M<\1<4!5BX\9_-U#5(]:3#^0/% =R]$NRS4#+PS1N;E]F5Y]?\)OA+0X,3"S9
M$!(Q@H_7@F9OV+?M? 5T<_L3)9K++\XOJ#"\)6LA*]Y[Q_R1;)PW""2_">:D
MIHS\1#Y6(5*Z1C-26KY1%KM(>";9PES(DBA((PJN!A9X;P*X3TPVYU*Q8GQ#
MQ"9%(-1*:U <;PV#<GK(KG^G:5-X&@E]AR@$4Q82X&>W PK!T0(P>2DV*.&"
M?#!4V9WM!8F>7IYE.9EKP>&,]M_E1>O.9ZJ+179ZA6?3JCIYCQ-^0'%:T;+R
MB;_3ZP?>%#W;PH0BU^VH8"2;=,5[ 6I91WDMY[@FV89#E]T9KBX98P8+W%#M
MN<G36H$<E$IIVE2RB-@F4K%K-970"BPBA!VQ2-8SZXRK'D3JO&;AA7)H35+7
M9*F$M]PE@$$.M:Q0(0/RJZ/8I-#CS9H1D]^<5_[?V)F!FF\ZY! +52LJE\2@
M8>:2C1YZ(F/LV)INAC21_H@TLCD _DF83BMB;^$LGT]:$TC#*!B>B?^,GRG\
M^]C2:47" (BKN72U170Q]7]O7Z9,?.TOA"XI@2S@R)]$)'3"B/10*9](ZG1)
MV&ZJ#8HB[<9(I1. F_F5VS+ROD(RW>A@?X]B(B^B_MD]DB#BJQ4)ZR-FQA2C
M,1%[3H=BRV>$]LM0;K U<4'!HLX!H*7/(H63J)U@#19(0XS'/*%7-NP:S6JO
M%>SL\O8]I-U0GD$3C58(/3=V$H1/+,T<4C8S'+2:855Q;)2"SF/]GS0-PG\%
M%](*0T\UT&\(='(*@KC$($#<AA&WK =71Y>PU(6!D>\)PA%3.UM1=M*\S$TC
MJ?8$[+-2*)Q19"26"VYLSGL>T0</AME(8M$HF91"TL8 9GA +!!)#G3"@  4
MY]TV6Y-]*^>N<IO]1W?T:1E9$5Z5-J%Z]'G?F^-:#+B+GO2-+P,T1EF5:X1-
M"R1%+*PMH%]+A35]&H6H7(9O< 3$!7#>6%A;X&GA'^WS#]SFHX>_??'FQU<W
M"T31QG"+A+:[)V7I]R"V<O7F'.8>)!6^I?RV$? C175>2I95HWL?RV%O_H?\
MTY=I!_<P#7!R1%VEU7CPM"A35X^6O$>3O;(D0DB587+>48D.(P5XX' ).#O4
M#7JE1<]?B3FBBF=H,]1*/%6ETCY:#^RUE"2&JA=04MKUFKQ%\3#:)8$J2,0#
MPBYM+H5^G6^&\NZ$.B@0G:- *N>@)'H+]#XYAR#ZO%!KB\^22DIBNB+C('LR
MQ;:& 4M=[ALG;&Z0TM8VHHS:U>=8&84M=[Q93Q(R?<$=H\QY;--,260O%S:T
MSD,/.:!.*&E2=Y)6Z9$0L&4=%0_WN0R?6!XI(]DP]/"@<3UDB>@:HCSW!F S
MAZ3:FLN 5G ]$_X [I\@9+2#DXJ&_4/4IJN?HE"X?G)Q)N<1OQL@'T*=XS5?
MD$ _SG 3PNI9A?VQZO3W47A#-B#]'E*^:1:*%07J!O@J$32!^9)6'9KPM(>
M?OC &/@_9>2?IDLNXE+<+@8OH2#IM3CNS?TB)R;JV#&HJHL_XV(A7;YF4 [X
M6)?D4F@^MO$0HZ?04=);'ZL58)12%TC%,%\=*'*TG:I8"F750W=4$:,NS1&U
MC%NY#+4TFI"4/*1.6J30G/1WNCYIME"R&!JF/JS-K5($#\5O\<,YF"UR)YW-
MY. NGFB%=H/BHRD%4S0>"Y,9^?BZ) #8T?9*4J3BN*ABZ2%-4"^DT+XZ@JA3
MRJ5L8Y&D3^9HHW1SZI46J2+@J>8/D2\9K)'V^VK4")7#BR1>H%]SB&LG&AP'
M%3<;6?\^4)>24?<0BO)10W'3",9(BR;XMB(E$,#F3M&@X'[784!(;-&W<O0;
MA=RCZC71Z]\2#8V63:'01#G_Y^'0.]7-.S%#QM!2;"!?_N@:BJ!/+IYD  !7
M%\_\X[S82SWL4Y3QTI_>\;.7SZ9GBFKGP1SD=-:UOJ;@LT,7#E))\3O&57)8
M1<]A<L46 F$>./44)%'[:E'K\#5.><-&G.FD8DB)E.#F71/@I:_TA.*#9&$=
MS8 4#^@2 _.G_YPD"L<G3.0)MIE&> U5W3BK4EJ^,^<(6[ 9TC'#%:E7220K
M-@/FJ1M6  ( 6.@,QB/H*7_2^N$*^F&N9GB2U_V[#TB=LKX]\^AY'Q5*]G':
MG44XYY]?T//3%T:M/:I;-WEPP'0]?I7>'<=TIBV7DWS.X'CL[HQG!D(+_^ A
MS\;\UJ!\LCF[X"FM.V_0B3VSH/=91RMU:U3<1]@CWSWR%6-UVE'.[9D2NR.^
MD&F:'NTAE)]&NMI[KWXY^"EP9-;://2GH4)-DYYV7S%[!B17T19/Q=^?/!L?
M\'9V1U$EKXT<E\K\BL9R&-VPTSRR(@R+TIA[[*4_E/0BB;,1"==CH7G?6(P(
M>>#U@N(GAUD,2FUU&L4?SIS*F6&^8Q]$,0Y9$G%(V&<):(LS,AR*0KM#!PHZ
MW:9,MM&9F4,R/QL36#JC+3]>(A+'GL$32*2O6H L]X5<*A"?ZO3/K6 %@\Y/
M83@FM-RT!U24R2?VZ9&('/C7M@;.9I;9VZ24C,<WWAR(7SE.#'#/'Z!2E65B
M^DV>3]%,,-QS6Y_#JL1!?)A_.(@OLV_1'FJ&EB(4<BOF03!H@^X&B\Q\0$LJ
MF1I)"N6%;(583"B&L75K>/:1\WMT9N8J3Y;  1AO[#G%8>CHW9*W+?HC/AM3
MZE@<OX/W&9_W!ZZ\BF9'IH]/3VW3R"H"^@TC076Y&&]'(V8RWZ*J#T-B08)S
M\7HZ]O*I-IB0.Y[G\9&Y.Q:_)7(%,Y13;1P9.%BDQ.\&(2ME9A2H/SG=J]@6
M^+<8P!'MI@PX "MHF3!7+<RS5SSB0M86<>"RTX-,#S9'=3PC2(_)@F9EU60R
M,"F4H__IWE+D)N,[H5KQSBDQNI5!I5+JZ?6 5J(-!2+E(32&XO'6;$Q(C#HD
MC.20Y2EB2\[HA')0(V";R\R *9P?QL20+-4:"8(: <R#A3"E%-JS;&<:'[3-
M R,JWD,G$E71J9)#<ZR$2I]+1X+MFZTO$75R34GP*8L"T*O9W4,7>#K&PI/&
M9*$C-UN;, -R &(\[/5>#U>>2["^*R\9UE>!FF*[F&.5+S?T$]UYRHZ:=**<
MOQ5[<I*?8+A@*EH)F3[MEDP3+ZK>U#*PDQ\<MKQ97MZ!D6<:7DR8]Y5A%8VL
MD1N=O!'OD&([T.I=P,("TYQ8'B$BD<M('E'F%$)0W/FVW\Z2P_:N-N.1Q@E&
M\-%RXA5_&#N$0/L'(_='T,//B2!B.VA.JI!V% &+4 6D,21X'S?9,/$LPXJZ
M*@ MFG<(SCP21UGP]/++,QWOG\JT&!>FL3 LG9QV[QN$T2HV-LV'7N;K/?N<
M4I;9#^F?7$W?X1[":C]),_N&.PXC'!&35BLU%GBYO@ 37UV0"/<ZF^['0<>Y
M1=V:^XQ#"Q6<\R[W/%K*0G4\$#T!92/)N5ILX=[)!-AT $P7V_.9@M=+T0XZ
M@:+>*5Z[Y@UFTU%8)@[+4:P<I"IY7[M[+HOB+'SL9Z=O.N+3C(4 0Y5IFEXT
MAZ8@ID#%ZV.RBGY>^8E0MN56J^.A]F58>:P,BR>&"O;BG*BT SS.@DT1Z9=7
M_G*)I'9<2(L&, :N.)?K%;^7 :CHD&,\6=,!E%S8P.C:$%HQ3RZ>',HFKSKR
MB$K$*B@&N5\L ;,NMI,))VDBZ-3< M1UF+L(U2\L.8P[EM;XICUO??WX8I%]
MS_CS)LY0O?(Q]B5L)Z0S/T1SQV@5 F6$.:'(IVMN+KB!,':\AI..AJ;#)C!F
M6/$RN_53VJ#CQ_& -5,S?D(FP2:#V&+Q<T.%,A;\3]G%\A)!J^)C==BOGE?'
M&OOXY2+>%]=S,M\FC1ZF,8>S6 1RTKP$R4I3:'L<'Z%.!MHGLW7O:,N<+% U
MQ>>/',A$/*.OR^3K2.7\N.5-27HE1P(ILE3ZR<?>_D=(XHV<K_^8?Q@?^(8Q
M]W@ ;[ITW) --$\!<IC&"*:/4_MDK'"4\<8P(=SHDOXL7@0#/+/'O8J^;^UJ
MD"XO,BPW;>6[E>GOC=9]L[<9)M,V+(-0'A^C3S"!;=,S79"% -]].H\[DW<\
M=RYSS*;.)1CY>888]G'E \U1#CKY!^94A:_ZE2EEI 4-'!SIS8Z\%EDWE8DW
M,K]R/$J3[@S1BR:G)CQZK^ K=N4G<,7#0MH7!6&!DW'MPQ='4NHU\DF_52S;
M][1()NQ>BIO&O0G:+8S )#><)G>9XM ]C/>0#PGQ]V;4%?V$H3^^"#0I^^96
M1_LPG%EBH-\+]Z#!KTRKS-?IA OE>+U/QJUMGF^#CN/G;%)SQ-)"*P,+"R>R
M2W]H(=J8V61DG_[J!H;,NGYT.H . R-KG:#[_.*?_?YAV\CTRPA?1GW4UN^5
M3*"O-3>/322Q<)-8FC^!REQ!$7/F\I.$*R+3<&$?9I2&.KT:!1_VQ2$;J;[@
MY[;Y=B399,763D\H4)4:J<0I%R9"9,A#(S#E7!R-G[]@] >:#",JXGM4!13I
M-Q+H$SKE>-TU\98F"",,*2$<7V*X"-K(:WV'O+]R>Z,1J[2T%Z83QG571+0S
M)[N$,<LX]H[Z"?>NL,.X\8*OA3;Y-EFKB]TO.5EC0V2)"!TCOE5HB^1JQXLJ
MIV=OBZU#EI-=SGV+:.>H!!!MR\9,Y)B3=#/E:)1G/S[(P[W_#G- XV++RPF=
M9;99K'[4M2F/K8U%#IN 2KTEFQQQ\EFN&O['^9?BH].#L"Z>0+P^F$A.A[B7
MLT-<HS%O$@*_SBW1UF@*"=!W,B!Y=%Q\&2CZ-N0="K2:8=*/TGYQ"HEEKOPA
M52;9S T]VH/HJ,WL?' S[,YAHD;:>"\,58!\5!VNSD4'"=O$-]1.<8^JDJMI
M::MQF[=^B#Z\PHT23]0[V[T_7P,/Q]C$>0Z":>>_/+CH_=/R%C?9.8#NL[TU
ME1Q02A:9%*+JGA1Q?S.M(RWQO>OQ$I0S_)#K#M,.BE@P=_J!14&L3@:81UH]
M$'EI48_7Y43A_N-,1H*&7= @TZ9545JTR7@7]['\RQ+<N 2J7;S]QLU.Z<E(
MUO>/+\4K_LI>\39F'4&XXPF4;M+,#4X2H20:Q>V@)R=Q6AZ3%@OQBWBG*%Y:
M7\0/B<#P"7</ID@S((I0%ZN?)1W"1#>*3), ["\-<S&)ZV)>J_[84R_%*AO+
M-&SL4@'E85!$73#]=L%00\[8SL.I2/H$:Y^""$&411JB#_9([LN-##V-D P^
M=&J%>Q6%)0VA;<4E\< \A9.$6)7@*I=-QKJB?6GTY-XV.=UYA=J.W)F"!,F=
MH3<MAW%*9&NL:.MFZ,?!.J)1GE>UOPYRI5,'KA.MR.:2:.".QP02RF>A1SLH
MV"N29M.?S%CA9WEB#OAW?NWR:?8?R=&/3HPR3A$ARD8R4H#8I0 _$=<H<,FJ
M5]-5L8:?BY]=X7#?9Z,SJ2D9R7J)B<J-*"$[3/OPG3!>^IG4PDB-YR+X,BHF
M*9+0 4SGM52?6,RMD.FUSII0/)7"]5..)OZ&OF[(3<19<PC[HROC[Z =H6.H
M'Z8$OUC"XTPW>G4N_5V7UM4.8TXBL^]HN^2%-[BS^]#S;VIZY4XNRZ$=(Q,X
MKV]N7\A]WU(O_EU=GU]\L?!33K=&</B[T)D[E4FHJR\OSI[B\E^\&TM^(8\Q
M=_[-5]*G!$Q:ZC@4[_2=6_K=PC"&*-_?_- #?M_H7#"RJ_4&H)\9)O7LQ.T6
M(Z%WNGUHG 3#:LUFJ/A^8CPO<G((H,,*Z,>ODY&\DJ(?M^HP)8??</C^U=NS
M16@Q2%0/9V/2=^%&6QO%H?0H?.:C")V_(UXT0FC!K8]^%JY5^/NJ')GT,!LT
M".P$=9RDMNZ>.?%3/K0@(9C"QR8(W79IM8V: CR'.S"8"*XWE9DA7&=F=1$!
M(QP"$>OBY4ZT:#SDDI\\"3<T+S]?J.%! FL9SV3U^:,.#8:_:[G'&(\(ETUU
M4JA!ONE[#\5!-&5*))*5$0'P@5C?.M_OD5Z,G"%8.>]ADA2]QHPPUW4:)Q[N
M#^BO"DEBP?ZCP5NN1^EIZ<3,(9(R\9K1ZN$ 3&!79!OSXT!->?SEIK@%CQ^G
M7<)Y-BA&!/E^+$9\M<A.1AU%#0Q?/)X+#/')44 X64YBP5<^%G"W+.=V,LG"
MWS=E/<0K7OD*1[SI?;;)7%2T4]^[X@JNQD]FZ!(80,6%NE3FXUX-YM4 4<GS
M?B&<U6$$-0Q Y,1B&;(8F.$*YH_[QV.=Z1D;=6+1[U*[]>X\^M6>2!(7+&-G
M^/N9Z4UWL+UO<B8]J>05;GV-)T'_WN;]EGO]X4?/YFS[\?D%58HG+UW)N81W
M3\V9F;]Z=A/9Y,2'7QZ@_X6V;#AXKC&AV&6WD9"3U.BQG?YP :KS%C_ $FMS
M7J?P:R2-[G#(S!PD:?\6I3*7TBD'20HXO*&Q<7DU8SR6-^_T%P"4FT0HTH7B
MUOI@NVUHSN/&UOBJ$J>\^<M+E' PWS34Z#(>[.%_!.*0?X&(DXW^WR7_49GC
M9_WU0+D*A&X,AK#EH/3VI\Z[F/]MA+WIPZ]#I#\-$'X'#:WP])2[##5!^)V!
MR60'_]2421@47#?/V7+NUQX?)3_2N3/MAG^*%-R39\GO=89/,_]KIS?R(Y_Q
M<?FIU+=ZB:,R:WKU8OG%YR<R5^+_Z%W#/_FY<GWO=OS/K<FIV, #]/W:41&E
M?V"#\!NPS_\;4$L#!!0    ( $.+!EGW/">;&P0  *T*   9    >&PO=V]R
M:W-H965T<R]S:&5E=#$R+GAM;*U6WV_C-@Q^SU]!^(;#%<ABQT[3M)<$Z(\;
MMF%7!-?;]C#L0;&96*@L^20Y:?[[4;+C)-<DV(:^6+1%?OI(D33':Z6?38YH
MX:40TDR"W-KR)@Q-FF/!3$^5*&EGH73!++WJ96A*C2SS1H4(XR@:A@7C,IB.
M_;>9GHY59067.--@JJ)@>G.'0JTG03_8?OC"E[EU'\+IN&1+?$+[>SG3]!:V
M*!DO4!JN)&A<3(+;_LW=P.E[A3\XKLV>#,Z3N5+/[N67;!)$CA *3*U#8+2L
M\!Z%<$!$XUN#&;1'.L-]>8O^D_>=?)DS@_=*_,DSFT^"40 9+E@E[!>U_AD;
M?RX=7JJ$\4]8U[I)%$!:&:N*QI@8%%S6*WMIXK!G,#IE$#<&L>=='^19/C#+
MIF.MUJ"=-J$YP;OJK8D<E^Y2GJRF74YV=OI(]_Z;,@9FJ.$I9QK'H25<MQNF
M#<9=C1&?P!C"9R5M;N"3S# [M ^)3TLJWI*ZB\\"_EK)'B11%^(H'IS!2UHG
M$X^7G,#[Q+3D<KGG)/QU.S=64T[\?<S?&FYP',[5R8TI68J3@ K!H%YA,'W_
MKC^,/IXA.VC)#LZA_\L;.8MQG.&CL@A)#UX? '?,\!0D;0BW4=*&\1O<0,I$
M6@EF,8/Y!C*^XAG%<J?,5HP+-A<(5D&JBH)JC=(V?<Z5R% ;9V5SA+4O$$)A
M*]14[_4)!M3BP JH<QC+I#^$FHZW)4)<93UXX*)R$/^/Z9L1@5)4Y'BA*FD-
MM28?8VF=HE/*'$OJ-8"+!34?!VPPK32WG(ZQ.;/@&*=*$@'+7>BX_"YX/?A*
M2/>J*)G<[#PS-3B1;]W?6ODH5&9+PE*+-I7>-,X4:',708>Z4()ZL5?T]];0
M-]Z.X,K*,M\RB?B12'_@DC1592@V!O EQ=+N;6?4AB[@IO,UUXA0U)T!76<
MJFOT=?W$7X[O=%S%N[)/H)4ZCU5!%V65OND\;NG\ !\@[E[V$[AHY#BZ;.1!
M]WHX:N3+;C0DG<X#2D7MLT:IT_U5'NQ'TAQ<?S_J7B<CMPSH1%JNDJ%;DD'4
MF;E<.'+E)94;Y003W^&^?S>*^_''4VMGF^-O1._QU05N_7?AB7KQ-H(D]EMQ
M,-R)URY\#:G_8 .S;0#$9A>?O4)P>710</BMXBLFR*AQ\@*DLE0;J:A<DOB\
MP[88F@S-3O>$.::L,KXQ90J,H@FA$M0<$!@1^[$EY729:>H"S&&&7[QE*C_5
MG:5TY$V76@?]A'CJZ-<AH ,=?S]LR12;KW$W&5W1T]TN/0?NF0RO._=GHW?*
M#([]I,*]$8*J;>D')6JIKL75TT3[M9W%;NL19*=>#W*?F5YR:4#@@DRCWM5E
M +H>CNH7JTH_D,R5I?'&BSG-DZB= NTO%&5.\^(.:"?4Z3]02P,$%     @
M0XL&63<54AQ& P  +P<  !D   !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL
ME95M;]LV$,??^U,<U*+8 ,]ZL)UXCFT@25MLPSH$:;>]&/:"EDX6$8I4R9,=
M?_L=*45UU\1 WTA\N/OQ?T?=:74P]L%5B 2/M=)N'55$S3*.75YA+=S$-*AY
MIS2V%L13NXM=8U$4P:E6<98D%W$MI(XVJ[!V9S<KTY*2&N\LN+:NA3W>H#*'
M=91&3POW<E>17X@WJT;L\"/2G\V=Y5D\4 I9HW;2:+!8KJ/K='DS\_;!X"^)
M!W<R!A_)UI@'/_FU6$>)%X0*<_($P:\]WJ)2'L0R/O?,:#C2.YZ.G^CO0^P<
MRU8XO#7J;UE0M8X6$118BE;1O3G\@GT\<\_+C7+A"8?.=GH90=XZ,G7OS IJ
MJ;NW>.SS<.*P2%YPR'J'+.CN#@HJWPH2FY4U![#>FFE^$$(-WBQ.:G\I'\GR
MKF0_VMP*5X'0!83!N\^MW N%FMPJ)L9[HSCO43<=*GL!=0$?C*;*P3M=8/&U
M?\RR!FW9D[:;["SPMU9/8)J,(4NRV1G>=(AU&GC3[XT5_KG>.K+\A?S[7-@=
M=?8\U5?-TC4BQW7$9>'0[C':O'F57B179S3/!LVS<_3ONY_SJ#\,(<PF\'(:
M/E4(I5%<J%+O@,16H0-7L6+BG5M3-T(?W[Q:9.GEE8/\B1,&>,+9'L')G9:E
MS(4FD'J/CKB2B4T)=\8>X0>I&6I:QP#WXW+$=XW#7<-;S+'>HH5I&E:FHZ#U
M-2S&T_2"WY?C^2(=_8Y[5) N1_SAX9'+PCYP&RM;1D*:),Q+1I\,"14\9[WG
M8I'"/0NR,B?LLW#MP)3PM0@?VC="QJ>I@$H4C/QY/D[X-(XH9()[38&-<9*
M##C,6XN0HR5ND:"06PCDIJYER(B[8L L"0!6<*AD7H$,6;?T$Z&M/5<+\A"O
MR&)N+->77^;OK1&R 'SD'NWXKKR!88&66X>U/N'".:1NXS7,Y]^<8[\D@CL\
MU(:/H4KPY1Q0[9$70DG__^3ND!X>KO*9[\-H9Y0LA(=OA1(Z1PB=:O)<8<0G
M3:Q&NPNMVE-:35T_&U:'O\%UUP2_F'>_D@_"[J1VG.R279/)Y3P"V[7G;D*F
M"2UQ:X@;;!A6_$=#ZPUXOS1<*_W$'S#\(S?_ 5!+ P04    " !#BP99+-N_
M^+ "  !"!@  &0   'AL+W=O<FMS:&5E=',O<VAE970Q-"YX;6RU5<MNVS 0
MO/LK%FI0M( 0O67'M0W$28.F0(H@Z>-0]$!+:XD(1;HD%25_7XJ29:=PW%,O
M?"QWAC,BN9HU0CZH$E'#4\6XFCNEUINIYZFLQ(JH4[%!;E;60E9$FZDL/+61
M2'(+JI@7^G[J581R9S&SL5NYF(E:,\KQ5H*JJXK(YR4RT<R=P-D&[FA1ZC;@
M+68;4N ]ZF^;6VEFWL"2TPJYHH*#Q/7<.0^FR[C-MPG?*39J;PRMDY40#^WD
M.I\[?BL(&6:Z92"F>\0+9*PE,C)^]YS.L&4+W!]OV:^L=^-E111>"/:#YKJ<
M.Q,'<ER3FND[T7S"WD_2\F6"*=M"T^5&H0-9K;2H>K!14%'>]>2I_PY[@(G_
M"B#L :'5W6UD55X2318S*1J0;;9A:P?6JD4;<92WAW*OI5FE!J<7U_P1N1;R
M>>9I0]<&O:R'+CMH^ HTA1O!=:G@(\\Q?XGWC(Q!2[C5L@R/$GZN^2E$O@NA
M'\9'^*+!6V3YHG]Y@TNJ,B94+1%^GJ^4EN8R_#KDN".,#Q.V#V2J-B3#N6->
M@$+YB,[B[9L@]3\<D1L/<N-C[,>/XBCTL+ O0B,DI[#[#-L1107$?(M,5!M)
M%>8@UJ!+A+5@YI527L [RDU$U(KP7+V?CLS9X' V<(D95BN4$ 4V$HWN2&.N
MI49)"5-P O%D;-HT#497E%-S/W,HA,@5A&Z:C"%PQW$X^BHT87OZ3B!R@S@V
M?>C&?@07PCS^@ALLW2EWH2EI5EH#E&>LSNTZ:$OV(O%_>TS.3)LDD[\]!F[B
M3R YF_0.=S[VO0;N63JV?9"D<.@">7OOND)9V.JEC*6:Z^Z)#]&A0)YW=6&7
MWE77&R(+RA4P7!NH?SI.')!=Q>HF6FQLE5@);6J.'9:FR*-L$\SZ6ICKU$_:
M#8;?QN(/4$L#!!0    ( $.+!EFR(6/]B ,  / '   9    >&PO=V]R:W-H
M965T<R]S:&5E=#$U+GAM;)55VV[C-A!]]U<,U*+8 *YUL12[J6T@R>YB6S2%
ML8MN'XH^T-+((I87+4G%2;^^0\I6[(7CHH!EWF8.SR&',XN=-E]L@^C@20IE
MEU'C7'L3Q[9L4#([T2TJ6JFUD<S1T&QCVQID57"2(LZ2Y#J6C*MHM0AS:[-:
MZ,X)KG!MP'92,O-\AT+OEE$:'28^\FWC_$2\6K1LBY_0_=&N#8WB :7B$I7E
M6H'!>AG=IC=WN;</!I\Y[NQ1'[R2C=9?_."7:ADEGA *+)U'8-0\XCT*X8&(
MQM<]9C1LZ1V/^P?T]T$[:=DPB_=:_,DKURRC>005UJP3[J/>?<"]GL+CE5K8
M\ ^[WC:G'<O..BWWSC267/4M>]J?PY'#/'G%(=L[9(%WOU%@^98YMEH8O0/C
MK0G-=X+4X$WDN/*7\LD96N7DYU9K0_=KW#,P5<&[KQUOZ<3=(G:$[2WB<H]S
MU^-DK^!<PX-6KK'P3E58G?K'Q&D@EAV(W647 7_MU 2FR1BR),LOX$T'H=.
M-_T/H6-8"Z;<J5[XZW9CG:$0^?N<]!XY/X_LG\V-;5F)RXC>A47SB-'JA^_2
MZ^3G"[SS@7=^"?U_7-!EG-^U0[B>P'D\>(O$O>2L?RJTQ*0VCO_33^@:VF,_
M'/RXA9*)LA/,805DZAH$?Y3^-?SH28!$U^@JO)T7BX;0T7A@/T3KN P(G<6Z
M$R!XC:!-6"0[>3 42"A0^Q54_AJY)&*/Z+G80,TU!LE'>P-X1F9L,&="@"8$
M\XJ0;P[F16"I*0%9=R!0:T%YC*LMO.%>BNXLV=LKN!E1Q.(0L72@)<H-[3=-
MP\QT],!45U.(=<:[!ZY>-_5?=OL>BG&1S$([G:6CW[S>1HOJ5.@\G_MO=*]E
MV]'Y]-*MKMV.&82B2&">IJ/WG5&<]L,QU/S)=^SX&WEY-O/?Z#,VO!1HR9=^
M!*SH$KL^<Y)0VKM$:TD>Y,7H_%&-86LTV<S&>3JC_Z*8$7^:8&79R7V$5,=Q
M]H94IC_-X"KT$F)]]2JV0G\ZV3C+DM#Z4SH)6GRB0D7!L6.6#)))2NE2B$,X
M^YELF*D/H16"1?:9"WWF@M-;]*[^\F!,%<BV&&J(>)Z<>]CQ41:6:+:AUM#S
MT)UR?4(>9H=R=MMG\1?SOA8^,+/ERE*XU^2:3&9%!*:O+_W Z3;D](UV5"%"
MMZ&2C,8;T'JMZ;GO!WZ#H<BO_@502P,$%     @ 0XL&63D[."2H!@  4!$
M !D   !X;"]W;W)K<VAE971S+W-H965T,38N>&ULS5C;<MPV$GV?K^B:I+)R
M%3TWSDVVI"I)]F:3JCBNV)L\I/( D2")-0G0 #@C[=?O:6!NTDC:V%6IW0=[
M>.D^Z#[=IP'J;&WL)U=)Z>FVJ;4[[U?>MZ^&0Y=5LA%N8%JI\:8PMA$>M[8<
MNM9*D0>GIAY.1J/YL!%*]R_.PK/W]N+,=+Y66KZWY+JF$?;N2M9F?=X?][</
M?E%EY?G!\.*L%:7\(/T_V_<6=\,=2JX:J9TRFJPLSON7XU=74[8/!K\JN78'
MU\29W!CSB6]^R,_[(PY(UC+SC"#PLY+7LJX9"&%\WF#V=TNRX^'U%OWO(7?D
M<B.<O#;U;RKWU7E_V:=<%J*K_2]F_0^YR6?&>)FI7?B?UM%V-NM3UCEOFHTS
M(FB4CK_B=L/#@<-R](3#9.,P"7''A4*4;X07%V?6K,FR-=#X(J0:O!&<TER4
M#][BK8*?O_A!>Z%+=5-+NG1.>D="Y_2],?E:U?79T&,-MAQF&[RKB#=Y F].
M/QGM*T=O=2[S^_Y#Q+8+<+(-\&KR+."/G1Y0.DIH,II,G\%+=PFG 2_]LPDG
M] Z]?_+V-JN[7.ERE_P+^OWRQGF+QOGC,2+B.M/'UV$QO7*MR.1Y'VIQTJYD
M_^*[;\;ST>MGLICNLI@^A_X597L>[YWQDA8#>AZ7?O:5M(\8?:PD%::&PIE
M!:^MRLD4!">Z-DTK]-UWWRPGX\5K&&2?.V5E3B9 JCVDB) G.?"$=7@% -,Y
M!.)>O.JA'^2N'WJ_!=4!1JRDQ1 AT1CKU;]%D'PKK3(YG0#B3@+K!7UOC7.4
M"6OO.%)8=]K3999U35>+ '0(P)WQP+CWD["?\-C*:+^/W-&,OJ5QLIR,PF\Z
MFN)W-I[WKH..D69P K"K5.MH0>,T62Q'-!XEXW1$:3*?C7IOY JCL@6TEUFE
M36U*!>SQF*9)RL;)XG1&DV2VG/6NS4IJH4&7-Z2-?IF!9HE23F _"_\"XY/7
MO8_&B_J8YX0TDOD6;":CTQ!_FJ13#GR>+&9C1)/)Y@:AI^- >?I_3?DXY?LY
M,_-?*%\FIZ<I&%TL%W^"\?EX"<87\\E?PCCBGX]QL4PFZ90N#]F0M]A]G:2U
M<# 8#1;8 ^J:WV _)BFR:BLP7UDIJ8G#5_+PI7M2"4+F @[HK?.JB<QKW2'&
M>P4 WK$:>35>1<M;3P7VT5C= ,H"EJ+P+&-'KC)K'44;9P+%H> %PYT\4/,^
ME*+SG;W?3+T0]XF5?+A@#*=N-QF^".6>+J=LPVHXG2WY<DZSV8(O%I3.YKV/
M^]"@Q]/YIB:;YD83^J/TMXRCO#<2W=/B7>BY;82QP]'1IJMSRE51 +VPIN&,
MX2@W*8$<GH.8_3@@,*MAY#D5FC&!XXHM&1)WS&.@FA3FI+(X]G"G(#*D'4=D
M@7W(6#>@=^; B&JH"VNMD2C6RHSERHL2C#D?:O!PP#K*.\ML?F7WO(G>L;R=
M]15][H1EBH'%)L'6(13\W'\U30[W AR>\ IG&A9>)7QLI)B)-N2M*DL9(UTQ
M'80>S)3%W'#()9-!@DKG*@/;.X3]\%B)NI/;! MTD)<O:["^9;JTIFMQEKK#
M:CX6.S,\TT#2@*YPU,/N%/N8'9P+?*/\?!26>8)(T02:CPW;#(0^+$U6"5N&
M3KJW^K&Z6-T<@Y6;31'WB/MH]@9FC^O"$79.%EU-O(*CJ!@2;6M-:Q7H&>SW
M\"]LGW+KE^_K_K_HEK]!<9VU'#-[L$PS%F8F7$4%3AX;%;%+(S)K7C*F:506
M'J-/L"/@/,(+10U2A1TL\.Y4J56!/M*^ON.RZ3+4MU*U?/3TTL0-*1.MPCS9
MC@Y6/=BN@:%TAL'#'>1P*8]+.:#+,)9B9^V(Y?&D?#@U/='T7R*AIW2SF\Y?
M6)"XQE9R^R4QFY3=ZTULQB9GU:'Q>5O B)7HSD\2Y,!-!]XQC%R\4_[HB#"@
M,+TA-ID\*:Q==WZ]A 9T+:T7^P&_88T-[],6)_YFH,,^-DH80V"22]DU;6PM
M=OY7EY=ACK,X\RWI!VE@C\ '-5U2CBUS+2QCKY3;;,)Q-SD$C>MGHG-RWRT/
MN.= =J3$QG\X;7@>H4DQ\:":!^,R1B[BR8:5=<SZ.D01QF6D>D ?.NPD8FO
M$S5(2^P401*[9.:WXQ2]Y4RM\KCQ*YRG,C8"SUX&Q@:/?2(-#[YR<;(KP[=\
M8$7[^,&[>[K[<\%E_$K>F\>_->! 66+"H0$+N.)8A:]S&[_?XXTW;?AFOC$>
MQ\AP64F12\L&>%\8?#!M;GB!W1]1+OX#4$L#!!0    ( $.+!EE9$"TZW@(
M '0&   9    >&PO=V]R:W-H965T<R]S:&5E=#$W+GAM;)55;4_;,!#^WE]Q
M"@AM$B)O;0G05BJP5XT-P<8^3/O@)I?6PK$SVZ'P[W=VVE"F4FE?$OONGN>>
M\\67T5+I>[- M/!8"6G&P<+:^C0,3;[ BIDC5:,D3ZETQ2QM]3PTM496>% E
MPB2*AF'%N PF(V^[UI.1:JS@$J\UF*:JF'XZ1Z&6XR .UH8;/E]89P@GHYK-
M\1;MC_I:TR[L6 I>H31<2=!8CH-I?'K>=_$^X([CTFRLP54R4^K>;3X5XR!R
M@E!@;AT#H]<#7J 0CHAD_%EQ!EU*!]Q<K]G?^]JIEADS>*'$3U[8Q3C( BBP
M9(VP-VKY$5?U#!Q?KH3Q3UBVL6D:0-X8JZH5F!147+9O]K@ZAPU %KT"2%:
MQ.MN$WF5E\RRR4BK)6@736QNX4OU:!+'I6O*K=7DY82SDVF>ZP8+^,+9C MN
M.1I@LH!O=H%Z%%I*X0+#?$5WWM(EK] -X4I)NS#P3A98O,2')*W3EZSUG2<[
M"3\W\@C2Z!"2*.GOX$N[>E//E[["=\V>V$RLBO3%,V'@UW1FK*8OY/>VDEO&
M_G9&=VM.3<UR' =T+0SJ!PPF!WOQ,#K;H;??Z>WO8O___NRDVR[VJP(+"-D1
M[,S6><4_7N6]W$"NJEIS0R&J!#)"J810]$7+.;SADDRJ,80P;T][U%CL&@N7
MF&,U(Y8T]I:TMTZ&CS1_#&7:A_@P'D3^':5Q[V[Z'>JVFW"PER5Q<@9I>M(!
MN20Y")8]$CC-(.X/>M/B@<F<G 2DR6(-E%I5I%OZ[M/%DDU)BT:C)E"T)NY=
MK",V:U]GC8]['Y0J# VI'&G&%""5I?P/BKM<699"G UZ[2'FC=:4^051G VI
MZ&?IVP]X'Y+#)#OV!W"2#&';UQ5N3((*]=S/.]>81MIV*'36;J1.VTGR'-[.
MXRNFYUP:$%@2-#HZ'@2@VQG7;JRJ_5R9*4M3RB\7]%M [0+(7RIEUQN7H/O1
M3/X"4$L#!!0    ( $.+!EF\SMTE@@4  "D-   9    >&PO=V]R:W-H965T
M<R]S:&5E=#$X+GAM;*576V_;-A1^SZ\@W&Y( -<7V4G<-#&0I!VVH=V*IML>
MACW0TK'%E2)5DHKC_?I]AY0O25T/Q5YLD3J7[UR^0^IR:=TG7Q(%\5!IXZ\Z
M90CU1;_O\Y(JZ7NV)H,W<^LJ&;!TB[ZO'<DB*E6ZGPT&9_U**M.97L:]]VYZ
M:9N@E:'W3OBFJJ1;W9"VRZO.L+/>^* 69>"-_O2RE@NZH_!;_=YAU=]8*51%
MQBMKA*/Y5>=Z>'$S9ODH\+NBI=]Y%AS)S-I/O/BIN.H,&!!IR@-;D/B[IUO2
MF@T!QN?69F?CDA5WG]?6?XBQ(Y:9]'1K]1^J".559](1!<UEH\,'N_R1VGA.
MV5YNM8^_8IEDAQ#.&Q]LU2H#0:5,^I</;1YV%":#KRADK4(6<2='$>5K&>3T
MTMFE<"P-:_P00XW: *<,%^4N.+Q5T O3MX20_&4_P!;O]/-6[R;I95_1.Q/O
MK FE%V],0<5C_3XP;(!D:R WV4&#/S>F)T:#KL@&V?B O=$FL%&T-SH8F/CS
M>N:#0^W_VA=C,C'>;X+Y<.%KF=-5!PWOR=U39_K]L^'9X-4!@.,-P/$AZP<R
M?U!O/ZI?;"#QLB?:J'^MR<F@S&*]\;$D<6NK6IH5NJ<@D9,+H*R0'G2LF2!>
M2%.(OYMB <X%+Y8EX75=ZQ7;N;Z[%9-Q%F54$)%55 AC@P@6[,SMPJA_2#AF
MP0L[?]%X8N,4DEW-.(16<J:T"@J0,%"$+ZT++P*Y*@EX<9P$><L+.Q=A2?J>
M1)6:#2J:O#_I[428%*1STBPH0:^=PH11>B5RQ*5\8$MV/E<Y=<52.BIMA =<
M@? V+5L$]% KQX:+)OVI^9P<[(H52>=%*)UM%B7WZ:GHQ<S.9<Y1K=8F2@G(
M%JE01NIM+$BFLP^ %@C0K"%.W1Q#J;7,>"H90<?:V+8ND**'0'C;U+PXW<KW
MD1&V#T=H .SJ%>?FJ1Y"%LKDN@%7\9!P%M]0+.@$!,KIM%H5DFL_DUJ:G$0Z
M/&*[+"FZPNG@K9$S+D#;9[%)#(:T3-9[XDZQ,EM55:U5CJYR' 02Y9N\7.=2
M>=&83\8N380&#YPB[KO984=)OQL]K%M_W;80BIT--!B@&FZ=U&A?3D[N8A>A
M<#/KP&GN@0B,B_6DT#:E95/J;?-RQG*I\T:G+F6Q2%?TT;W438QSWH3&M8TG
M:KF*W=L3U[%;,!!I,Q!C[*\IIVI&3HR&<7>4@EO&DP?8T74.!RDZUN>V,6T^
MF6?V,5M ;G2T&/?&XKMH>=2;X*F+S/F:XCG)??1_<2"1J,B6HS$O^^%(+X9
ML^7!$(CB:@>4B*AV1UD)/>0,P7#E4*![T!YDWATL3YUU=\;#/-)G/0&2YS0G
M!'UN5,T%P8$<2E@'$7;)/,R>#*6(S-.>F<:4X(;E*>F8@6W;M%%\_VR2#<]?
M^0/LZJ9957).=7S]U N/+5R5**;RN1B.NH/!(&H]%]EY7'13N"63SM%FIA(?
MX'NJG K[N",^6N;%DXP"-S*8_ YZ2(O2FB]<[(TDF,QC_%N\IAH'T)I <EP;
MU\Q!*A<+1XO8UHD[F'RJ:JH->S"U"0.C(+<I-Z?=@+>)]_MFVW8P_L>0DWL8
M<1S5T#^ [T\NCM[X$$=\\9C>=J85@",Q1TEMRPZO'MJTG""%X_/A43Q;SB>G
M_' F1F='*?%?!#OL9B^SH[?H/AZB34@T !U0D&,Q>BE.TLO&8%*F 8?+D/$Z
M A$+'IC'(H-8<O!E<N#A=)B,?-%RNW+'8C(9LCMK%OMD5HAL=#X0^RY._9WK
M:T5N$2_I3 ?,L'23W>QNO@.NT_5W*YX^(MY)ATGLX7P.U4'O_+233KGU(M@Z
M7H9G-N!J'1]+?,N08P&\GUO<I-H%.]A\'4W_!5!+ P04    " !#BP99^,)5
M0+H$  "F"@  &0   'AL+W=O<FMS:&5E=',O<VAE970Q.2YX;6R-5FMOVS84
M_2L7ZE:T@"<_FQ9M8B!)5ZP#,A1-NWT8]H&6KBPN%*F25!SOU^]<2G;=S$D'
M!#%?]_#<<Q_BZ<;YFU S1[IKC UG61UC^WH\#D7-C0JY:]EBIW*^41%3OQZ'
MUK,JDU%CQK/)Y&3<*&VSY6E:^^"7IZZ+1EO^X"ET3:/\]H*-VYQETVRW\%&O
MZR@+X^5IJ]9\S?%S^\%C-MZCE+IA&[2SY+DZR\ZGKR\6<CX=^%WS)AR,23Q9
M.7<CD_?E63810FRXB(*@\'/+EVR, ('&EP$SVU\IAH?C'?J[Y#M\6:G E\[\
MH<M8GV6O,BJY4IV)']WF%Q[\>2%XA3,A_:=-?W8^SZCH0G3-8 P&C;;]K[H;
M=#@P>#5YP& V&,P2[_ZBQ/*MBFIYZMV&O)P&F@R2J\D:Y+25H%Q'CUT-N[A\
M;PO7,'U2=QQ.QQ&(LCXN!NN+WGKV@/4)73D;ZT _VY++;^W'8+*G,]O1N9@]
M"OAK9W.:3T8TF\P6C^#-]^[-$][\N^[16QT*XT+GF?X\7X7HD1!_'7.Y1UP<
M1Y0B>1U:5?!9ABH([&\Y6SY],CV9O'F$[V+/=_$8^G?#\;CU;RXR32<Y'<+0
MIYKITC6MLMNG3U[-IB_?!.*JXE0/I/NC$0IY!?.-"C3+I_0C*5O23S3-3S!&
M]5,$3M!WU/0A9PDY(6"\#U@RP6 ^0KV&MK_!;/-$X59YK6S!5'G7)+#/^75.
M%9?LE:$05>RB\]N>AJMH-LTG__]JX=UZC<ZBS994C%ZONJA6!KZY!-!%;?0_
M*C4#P*-TV7O@B.N[\Y KUBI2K4I25'7&@+?I>B-ET,+$A9RNE$7+0G.*I$)@
M^2,=PSU0+&/M2Z=\9 ]6(%(RAJAC"%TS6'E!);B(Z%#K_(Z=$$[VI /<1M(:
M?<."42M+UD7J+)JP."0N=E#$TWE1N,Y&;==T'1$+Y<N T)>ZTD7OPK/SZ\OG
M],FUNJ"7BTE^F!QRD^<OG4[\'7$0^72HH<01$5)@'F2=5&R^JE0X6YBN%)D>
M\ <WKO@;KWIV:*^(*E)BV#@>OUYJ+1%H)3UP9=?BH#!:LT6*[>RJ+DH/@%52
M;LC_LO,BFQQOV6L'X;1%C'118]$%&' #3_'A(NB)JQD:!%#NS;GLD.U[TO?K
MK4^2G1)!(UHA19YO,0;2B%8NUM RZ%264DF6UTHF(R$)\78$K1(/1B@D1 O&
MVW0Z\"V(QZWX*&$I.J@C^8F]HFLZD[ (+1!41O?]A[.%\GZ[4L4-;5EY.2)5
MAU= V1G([ 4_H%+O:V^T6J&RHAY@J37*6B$K33;R.FT(C=:[O]$48'<\""#1
MJ)O>37TH6D[G0>Y]RP4W*V3Z?#H:&DT\2."^:H_EJEKC?1(B)(U'$P?8/]!T
M@5[7:&-@.Z+:;<3C_@:^0P#"D$'JN/_;7:)A?86)<^4&8/0,":Z1DI6V.DK>
MW^* MBC0M23,<_B\316 ]-\E!_?M)XD47.>+U!'_*Q</SNXR@T5;J<NC;>O8
M!VI\\'9HV*_3"RE0:B3],V*_NG^$G?=OCZ_'^Q?<E?)KJ$R&*YA.\I<O,O+]
MJZB?1->FEPA2'>^:-*SQD&0O![!?.7S AHE<L'^:+O\%4$L#!!0    ( $.+
M!EF>QK30,04  ($,   9    >&PO=V]R:W-H965T<R]S:&5E=#(P+GAM;*57
M;6_;-A#^[E]Q<(LV!AQ;DF7'21,#3IIN+= V:++MP[ /M'BVB%"B2E)QLE^_
M(\7(=IIXQ?;%>N'=<\^]ZGRZ5OK6Y(@6[@M9FK-N;FUU,AR:+,>"F8&JL*23
MI=(%L_2H5T-3:63<*Q5RF$319%@P479GI_[=E9Z=JMI*4>*5!E,7!=,/YRC5
M^JP;=Q]??!.KW+H7P]EIQ59XC?:WZDK3T[!%X:+ T@A5@L;E67<>GYRG3MX+
M_"YP;;;NP7FR4.K6/7SD9]W($4*)F74(C"YW>(%2.B"B\3U@=EN33G'[_A']
M@_>=?%DP@Q=*_B&XS<^ZTRYP7+):VF]J_2L&?\8.+U/2^%]8-[(C$LYJ8U41
ME(E!(<KFRNY#'+84IM$+"DE02#SOQI!G^9Y9-CO5:@W:21.:N_&N>FTB)TJ7
ME&NKZ520GIU=6Y7=YDIRU.8M7'ZOA7TX'5I"=N?#+*"<-RC)"R@3^*Q*FQNX
M+#GR7?TA,6II)8^TSI.]@)_J<@"CJ ])E*1[\$:MFR./-WH![T(R8T MP?L+
M[X7)I#*U1@-_SA?&:JJ.OY[SNX%-GX=U'7-B*I;A69=:PJ"^P^[LS:MX$KW;
M0SIM2:?[T'\Z-WM1GN?X15F$.![ MHTWKZ9)?/0N6(*/)<SK%94@)2&>],'F
M"!>JJ%CY\-; N6*: ^.JLLC]F9/:Z&98NGZ#*\E*.&C/W6,/:)@ %I54#XBF
M#UQH:E*E#;"20Z9*0SW%2IHVCL0'7.B:!H:KA;BA\9SQ)(9+#TDCPY(>KS,,
MMX]<YFNGUC#:$O"<^K#.199#I=6=X%07CN-*.Q:N;M#[=>@& !EV.$3NA@PO
ME:3!)LH56+:0"#[&3BE314%CQ_B""X'G'G596ZH\$,;4C+C!0=R# U&2'ZHV
M% '3.^E0 V#; / >B>H"-8QB_V;4:>J8_*?19CR4XT71H\%K*';<,4KZZ32A
MWSA*@T+#_"7YN!^E,4SCH\Z\)C):_!T8ASC4U-T:=G()!TD/)L>0IM-_57H2
M<C@8]2">CB ^2G_.X&4HF=#%5[7.<DI(0$M[,(Z/8)Q&G;2?'">0]B-"=]%U
MB6K2PQ:*"@'O,UF[)(]3\CF*P-('C<;!0TB7R9D;#<RG?C<5+F8_I ,&/@Y?
M2_C$2E^KS4':E&M9>VG"8ALW@PV?]^V BC)S9$AB\4!AC3R_(%S5VM6,!:N\
M%MZA7FG$LBE;XXN!S.P@#GR@OVXUTK@?>FD4[<"OD<IRB^)3<Q9UT>(_R>;
M)^#_1F!OAG<B$[?4X;^%9I\IFCN/S4DJ%TTG-W(TD#XS$@W.K<F2<:4EZ!OL
M.@J8/20;A[3BW-).=3"_^=PCD"5JUV'$A4J[<"1I,Y%05^[V-8P'$7W=I72+
M2B"Y&;7;DV0 \Q^+TM/(&17V:X@'1RT2NV-"^K+?--(/5+8FDF$2/;JJ]1.K
M-QM&-,PRI7D8O.0?=:NBKVNC3; 9(F]&>6LL4\;Z3#/.A9M93$+%!#^D5QFK
MA*7GX+<;_TH*SMQH7S#IL^ 7G.<';K-.4D&9[;!!^)@93["AYC= ]W7BM2?E
MQ"OBIS@QXR+S%I\.XIN<BFAGO7DR$*[%_9[CSG4H\F;BCJ,Q3)+CSB\^8FVL
M7M.0GHPBNH[ZH^BX\X4J9Q/(I?6MLQ-*IS&.IUZ#]F]X;MT8;JV%!76#7WY=
M.=6E;3;$]FV[7\^;M7(CWBSG5/(K00TD<4FJT>!HW 7=++S-@U657S(7RM+*
MZF]S^H^ V@G0^5+1QA$>G('V7\?L'U!+ P04    " !#BP990L="W6 )   ?
M&0  &0   'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6RM6=MRVS@2?==7H#39
MJ:1*EDB*NF5L5]E.)CM;E1E7E$P>MO8!)B$)%5X4 +2L_?H]W2 IR9:<;&8>
M+%$DT.C+Z=/=]/FF-%_L2BDG'O*LL!?=E7/KUX.!358JE[9?KE6!)XO2Y-+A
MIUD.[-HHF?*F/!M$03 >Y%(7W<MSOG=K+L_+RF6Z4+=&V"K/I=E>JZS<7'3#
M;G/C@UZN'-T87)ZOY5+-E?NTOC7X-6BEI#I7A=5E(8Q:7'2OPM?7,:WG!7]J
MM;%[UX(LN2O++_3CM_2B&Y!"*E.)(PD27_?J1F49"8(:7VN9W?9(VKA_W4C_
ME6V'+7?2JILR^ZQ3M[KH3KLB50M99>Y#N?FGJNT9D;RDS"Q_BHU?&P^[(JFL
M*_-Z,S3(=>&_Y4/MA[T-T^#$AJC>$+'>_B#6\HUT\O+<E!MA:#6DT06;RKNA
MG"XH*'-G\%1CG[N<NS+Y(JYA5RINRARQMI+<=3YPD$YK!DDMZ=I+BDY(&HOW
M9>%65KPM4I4>[A] JU:UJ%'M.GI6X+^JHB^&04]$010_(V_8FCID><-3IJZD
M46?>U%NY!;*<N#)&%DO%U_^^NK/. ";_.6:\EQT?ETVI\]JN9:(NNL@-J\R]
MZE[^_%,X#GYY1O.XU3Q^3OK_%:3G)?U>.B7"2/3%*9G^P=F1!V\?Z%K5"^YX
M0;*_0%ND:5(:A%_H0KB5PO/"EIE.I<,]Z_!%KK:B7 CPBN%]5D@K%D ^",**
ME[RSK*PL4OOJ=>?CRB@E<@\M1= 2 (9B8,SUP_$G'8(,X68HVJO.36D=';PL
MR]0*J)6*%V(\PD<TPT>(Q2]$''<^('[2)"L!#9#@]R"N-0,D#@(130,QB:9B
M%$XZ<YDIRZO 9U^4T\523$8B#/$W&HEH,NZ\4P6LS'B13)&_FB!&1"3&XXD8
MQ;$(>U$\P6<81IV/I<-B>\K!JH[ "]H43/ ]&T])_UXT&O+=63RK(_O'VOOV
M(Z( Y\*WI)Z3=YFJ&5C_%]I3D,#5"$V1T@(^&['94:9V6Y%6AG=C,:*F2XIO
MJD7"87UI*;&L>!2XSTR(>"[OX8*EZOQ>Y7?*4 3>/BB3:!CR05'=(-$ "N=>
M!?N=,CGC8(LXV%?B:KDT:HFS<(2#(E8GXEYFE7H$ELZUS&21*"&=>*,2Q<<-
MPUX-A%X8Q.2DH!\%8MR/<#V,9IUW8 !2,P[(E:-^,.DT^L$V,16O:&$_#&CO
M%,_6VJAT@)JP4)KM%U'$BZ;]:+JO0XM3C\%>/*4S9_V8CF=5>J-1U/E36783
M(*+\P1RD)P+"WGC(0 W[R& HRO"='.Y?H]KAARO%/6Y_OQ:,D\VCD(DE^490
M]HJ%U*;V.B>O1]>R=MX>0.RII/0*;)#L0&Q_2B1$A[*(LR-G*(D<;)"XD28E
M@H%1.F?8E9YA>"-E-:M:V4:-ZTPBB>;)JD22GKU7QF&#EW:V-CJA=7F9JJPO
M$,H#W%OVW0F7]EBZ/ E)R>1VS.:P/T8%SS*<T!=7CP+#8HUJW1,W2TE:51"O
M+@MD["-&2(C3C,IDK6%5U*H?VM.$J4) #!M S"Z+[<\_3:-P\@O\^K6B1%\#
MO$0*P TY>\_V.R7VE"CO:SF%>G!0=^1SM8^,!L%IWN1YZ#OXI]9%M,J8G1!O
M1U5H)UY^F']Z]2U.>I:2]I1[S$['H?X\HTR",:5@?S;Q)&)%/(V90\)X/RL1
M'R4]FX2S,5/%I#\==O8I9!SS_5%_,CE-(;-AP&MFD;AZ"K-#",4@N#T(.:XL
M/P D.-V*E;PG7\NG#&%.,SA.19HWP+A5AD<(,LPCXQ."^EWUZ0D^UGNR]@%R
M^U<!LJ_DWX&0T%>-_F36((1MB'[!W?KJ*%">KMIAY>FSDWC9'2_F:$EUPO2T
MP0A$W[YIX8/W'8HXIMK31JHHD&@A?:JW]?N6,,$D0??!L,0J&X -G&T*L3!E
M+H)_$(S"$;X)?ECGI%GBO)T8'P-?!:"!2-!D>4PE"AT2\[WO@FJN;X  Y*+"
MU*$G,F^$6T],$JO1-9X1](2M+?<8 /.FWCR99=O>@=B\HHJ9K#1Z/H&:H!X2
MA<,GH]8$%@BS& 0&RXJJM2M'Z"I#D?1N0?%KMGVMI($G"6V;E4958TSNZ4V6
MU@>3AM_*[3#HC6?#OY36%,+>#^=UL,OKSZJMR6S680UGI&RT0S/=X*W%5UVL
M)<^-B((T68GN(:\RKSM7Y[J>GJKT*_33)1P)W>Y+VI<A\S'<\*@W5\YEL.F/
MNTPOZU'C\TIA4"F2RB!4/0_!,ULO+/<6PED%6@65K[-RJU2-=P8Y2N%::IYQ
MCE8JQ-*HW2@D*;:)J53:-O"9EG>L*F??M_K]_@^1Y"G3B-&]#P$ #T>=YRK5
M<&^V;5J?9\@3=;25X+URS'^'K;GX^\:X=T=[4I34H#_;D2)ER6S$_2UFHG[$
M.M>DWW1#Y/O:W#!N-\:8WJ83\;8.?%VL;BM,A(B0N 77BI=OY[>WKS@L+7D@
M71S^?#2B(!Q_EPCVW]J4]SJ%9CNT26I6UZ5Q!*@MH7'=;#]@/Q!=62U7 .36
M ""@[+3B]UTUK](IQ"X:DGGV)AZH]]!PKI+*3Z/BC$. !%LH#KT/N^7C5,']
M,DY]SY-QR+Z;J[7S!2]L^W5BA9K1&WT]T4$'JW@@F8Y$2Z@<P9H86M(X F=A
M#\VFY-!$B5Z*-C3:&Y%)?(.M>)1-Y;:1]LBH&O>*:@7T0EHI*'U5%,1QS'?Z
MKJI?31C*UES7_$G">#EW-X$W!+%J K=+/X54T)2G!QE-DT9%8PWKSH+Y]8=<
MKY%[OCV?UR\LXVC8Z/\;XF90L=!>^YIS VY\%& LX>2!EJ@WF5YL6?">;G6]
M;.-",$39ISOKTBHFVN\__'J_,H<4TU3;I*P*WU(\K04<"#_.+91TJ)7-7;*A
M)S2700(E<L'L<V%IP.DWQ]Z$T :9)94O<+OI[^G);6HUB&K]8*CTV;W9Z&!T
M;(;$_5SGZE$XBABY358@.L/%ERQ'QEI+;%_3#0)"6EL$A._4PVP]ZU,#]&9'
MMNX9GF0./&Q94I2A K 4?&1SXLX4\NR!_.>G\T/A;1_V @4_;*<);N]H'9W)
M+2/E0M2;CJ+C"HC^L7>@@[V7UKE"%T2OYBG^0)!_?]W>;=_^7_F7WKOE_E\'
M(*4E,6^F%M@:]">CKH]J\\.5:WX%?E<Z5^9\N5(2.M("/%^4I6M^T 'M_T0N
M_P=02P,$%     @ 0XL&62JG.!L+!   >@D  !D   !X;"]W;W)K<VAE971S
M+W-H965T,C(N>&ULG59A;]LV$/V>7T&H0]$!GF7+3A:DMH'$:;$,:&$DW?IA
MV =:.EM$*=(CJ3C^]WM'R8J-)L96P+ DZN[=N^,[GB9;Z[[YDBB(ITH;/TW*
M$#97:>KSDBKI^W9#!F]6UE4RX-&M4[]Q)(OH5.DT&PPNTDHJD\PF<6WA9A-;
M!ZT,+9SP=55)M[LA;;?39)CL%^[5N@R\D,XF&[FF!PI_;!8.3VF'4JB*C%?6
M"$>K:7(]O+H9LWTT^%/1UA_<"\YD:>TW?K@KILF "9&F/#""Q.61YJ0U X'&
M/RUFTH5DQ\/[/?K'F#MR64I/<ZN_JB*4T^0R$06M9*W#O=W^1FT^YXR76^WC
MO]@VMN=9(O+:!UNUSF!0*=-<Y5-;AP.'R\$K#EGKD$7>3:#(\E8&.9LXNQ6.
MK8'&-S'5Z URRO"F/ 2'MPI^83:W5:4"JAR\D*80<VN",FLRN2(_20-"L&&:
MMW W#5SV"MR%^ 2 THL/IJ#BV#\%M8Y?MN=WDYT$_+TV?3$:]$0VR,8G\$9=
MOJ.(-_J1?,6M\KFVOG8D_KI>^N @FK]?JD(39/QR$&ZD*[^1.4T3=(HG]TC)
M[.V;X<7@_8D4QET*XU/H_W_+3L-]MH'$<-07ITOSV9I?[BFOG<.:>*!'<M+D
M%"T_/*D <P_'+R4) U/7F7)7XO" J:.B;GK1=^Y:R:72*NR$\C#(K8-NA.)V
MS5V-V]Q6.("\C'[X!03 .ZQ*LV/\VLBZ4"&:0G3&-W?>:E5(7EY*'4/%)NE'
MAOZ(/C']'/3%EAP=L>!H#D?(HS1!X"1TDDL"#^9$:/^-=&W)U(]P\P$7]A=V
MM<?'^X;ERFJ<F8P3Y%*3B%J*N\-'&=<LE)))/U,&UX@;[&LY^JNSUS;O[-T=
MYV!KCW7_\]E-6SC$N*6<JB4Y,1K&5AR)G\3YX.RZW22$VY?D[9O+;)B]/UO(
M75.7=S 41V"?I,O+/=(82'N?_P*W7SC PQE!W1EQ +> LB%AJ<7"69:>^"H=
M$D?AYEJJJE'KO-DN4<I"2 &YHS8XA?>648=8P/[(S<;9)X510'J'.(/^$$>R
MUG&Z>+8@B<1P/6;$5?ZN@'UQ!T541JU4WH@;Q?>V0D9K1]0DBT)L2P7,<$ 4
MC2(%ZV[7.UHOP2'ZQ@*J%GT7;2S^7.,$63F1DPN8V)@D(9#S/9CG&E(UZYY8
MU@$M'-":E6JTU(/TF@(^MRLGI0PJP?.5"P03Z#?LH%TK6-T]5F8I'RFB=1)E
MJEQ"QQNSQ^,3YJ4&.FJ6E3+8<G;KVL;W7SI0TX-Y6)%;QZGO 5:;T(S&;K7[
ML+ANYNFS>?-5 JVNE?%"TPJN@_ZOYXEPS:1O'H+=Q.FZM &S.MZ6^#@BQP9X
MO[)08?O  ;K/K=F_4$L#!!0    ( $.+!EEI^Q253 0  .$)   9    >&PO
M=V]R:W-H965T<R]S:&5E=#(S+GAM;*U62V_B2!"^\RM*GLUL(B' AD F TB$
M,-I9*2.43'8/JSTT=H%;L;L]W>U _OU6M<&!"6$N>[#=[:KZZJM'/X9K;9YL
MBNA@DV?*CH+4N>*ZW;9QBKFP+5V@(LE2FUPXFII5VQ8&1>*-\JP==3K]=BZD
M"L9#_V]NQD-=NDPJG!NP99X+\W*#F5Z/@C#8_;B7J]3QC_9X6(@5/J![+.:&
M9NT:)9$Y*BNU H/+43 )KV]ZK.\5_I*XMGMCX$@66C_QY&LR"CI,"#.,'2,(
M^CSC%+.,@8C&CRUF4+MDP_WQ#OV+CYUB60B+4YW]+1.7CH*K !)<BC)S]WK]
M!V[CN62\6&?6OV%=Z78O XA+ZW2^-28&N5355VRV>=@SN.J\8Q!M#2+/NW+D
M6=X*)\9#H]=@6)O0>.!#]=9$3BHNRH,S))5DY\93K6)4S@C.D1VV'6&RI!UO
M[6\J^^@=^S[<:>52"S.58')HWR8N-:%H1^@F.@GX9ZE:T.TT(>I$O1-XW3K
MKL?KOH-W+^V3!:$2>*1(C:,^=1(M_#-96 H[=O\>"[K"[!W'Y(5R;0L1XRB@
ME6#1/&,P_O@A['<^GV#<JQGW3J$?EN08N9/FQ\E]TPXA[+7@L-Z'4]!+>! 9
M5NF:Q+$NE;-PCS'*9['($+ZG"$N=T4J6:D5KTCM@G:I3T5APJ7"TUKPM)J1M
M(.S &= WUP;9A]-.9&3]C*K$Z\;WU""2T+<1<AL!-0'Z)GB0F^.2!K<']T@7
MZE%CNF4!$Z!?9_")GHB=AQ&<O4IO(.S33W[" ;WX^3\CHW0FN-.T!+;+WW6C
M#LR3OB5)OB!&W;#Y-H+!EM\!<0[+OYBP8+Z"*NC)Q 83Z2#3UG()+1,Z],=E
M?>,3UJ2JM*-=Q:&1(FN][8IY:>)4,.QM:3A!CKS;]VKCG36]SE3GA5 O'S]<
M1>'@LX7"Z*2,*2EKI(SE0I5+6H(E,8?%BT><WI%0NI3BB+=-*A5,4ZE$$VA3
M=DKD3;C#C8QUTT?$?AZ5Y)H\.(K!'@E@*FSJ4_8SH9@%"1;:2F*%FQB10V',
M+S0R5,[;2@I?E2V-S_94FT)7X#609"E99C(GI-:^,TBW&<9-01E&@DAV92)Z
MY,N^MDN+-E3K?#.](OQN7SD*2AQEQ-+R879UFW%S0B;,BL7625<R/])8"/5T
MK*:&3G;C7GP.9S]*6=!9ZXXFJ=A7Q9UJ$Q1=&JAL*]0K(XI4TO:$*X)O>I(4
M=+6B+)Q+#E.7E@#LQ:^7P3=MJ ,FU/,R%O ;1,U.]\I_HT^7C8F5 N8BEDOR
M>#Z93Z87, CAJM^8E<R4VD,F"6U7,T&9]'O9T@.=S^YFDPL(PY!VA'YC?B(L
M[XOV#OY>=@9P;%]O[QV[1'7E+Q?44ER/Z@2N_];WETEU;+^J5Y>?.ZH;50TR
M7))IIS6@ZX*I+A35Q.G"'^(+[6@O\,.4[F!H6('D2TT[_';"#NI;W?@_4$L#
M!!0    ( $.+!EGXP)*0X@0  !P+   9    >&PO=V]R:W-H965T<R]S:&5E
M=#(T+GAM;)566V_;-A1^]Z\@M&%8 <W67;:7&$C2KMVE19"DV\.P!UHZMHA2
MI$92<;Q?OW,H6\G6Q&A?Q(MXOO.=*WFVT^:3;0 <>VBELN=!XURWG,ULU4#+
M[51WH/#/1IN6.UR:[<QV!GCMA5HY2Z*HF+5<J&!UYO>NS>I,]TX*!=>&V;YM
MN=E?@M2[\R .CALW8MLXVIBMSCJ^A5MP'[MK@ZO9B%*+%I056C$#F_/@(EY>
M9G3>'_A=P,X^F3.R9*WU)UK\7)\'$1$""94C!([#/5R!E 2$-/X^8 :C2A)\
M.C^B_^1M1UO6W,*5EG^(VC7GP3Q@-6QX+]V-WKV#@STYX55:6O]EN^%L5@:L
MZJW3[4$8&;1"#2-_./CAB< \>D$@.0@DGO>@R+-\S1U?G1F]8X9.(QI-O*E>
M&LD)14&Y=0;_"I1SJQNX!]7#V<PA&&W-JH/@Y2"8O"!8L/=:N<:R-ZJ&^K_R
M,R0Q,DF.3"Z3DX"_]&K*TBAD291D)_#2T;+4XZ6G+6,;HUMVA5P-9@!ZUS7L
MROL5#/OS8FW]_E_/.6# SY['IVI9VHY7<!Y@.5@P]Q"LOOLF+J(?3[#/1O;9
M*?13<3DM^$$[8'$^94?[7PO+MUL#6^Z@QCKRNY9Q XQ;MM%,8F%:]KU0S#6Z
MMUS5]M5R<M<8 -8.,0:*,<,(@8_0K7AX_L^$8D<!3-DXFUSNV7MN/F&#>6MT
MWRTG;Y0#TQEA@7W+YF$1YSB685H4.,9EF"TRFN3A/$HG&#EL&!BK+)PG)2O"
M>+Y H32=LS@.TR2>7/083$W%S>*PS!*6A$F9LS3,YRG+PSB/)G?:<<DLEVBX
M1X[G1Q5IA)-D$6:>14JR&5%^"WIK>-?LEY,/VF#27" )47$\M$#MI1\S9($P
MN%'$PZ2(BLE5(Q0GAU:RKX7:LG<:/[_2!YW+[KC8<?4*J:4+,BC*R: RBEB<
MA%$RG]R =4QO,!Q /4W6+,LCEJ8IVI?F&2NRK[?H3K3$!%$/&8!CI;=*4&]<
M3JZ-KOO*64^0<EE4"(REH>P&C,$0<\<XZ[10CE&F8&,F=5F81^4P*1>D+IF'
M49J0WB@LTL47 .M[#*['*\H2+8S2G.R<D[5%FG^MI6/>;T&!\3GO.P Y\R.:
MB^M;A]N6[3@!+J8I]E4I_16!'&DG&W?PUO.2[D0U^$PG4<KV$/UJ._!WC=R'
M!\CX<RVXE7^FQKY46*>43-EO@J^%%&[O@3KL ,H)=)JA*\D.07>]4=YDWG5&
M/PB\T% 6B433^)&:/_RYTM=00;O&.*5Q.)0W[0K+AAQ'HM17!5VRE>EQ*0^,
M!%B?+F@;_M)MQ]6>\K!7'$N#@E%I-%3986:U%+6/V9I+KBKT"-UL=OK8P)\B
M4P_#&WC(H[&SN09S=0=F2''CV36 W.I[#]GQ/;XJ'H\ >K'VGC- SQCBUX'Q
M#QXZK]=28/-$_QRPN1FKYY^G"3QE=VAG]1Q3K\L7!;Z6CAE0AA$MOM3G_X\Z
M*7MDK+3ZH2*^4O*UA*,[PH,[,,!L_3QM1H&GVB2B2*46UF%<W4M.P*1N=:\P
ML9SV^9.<S)_I<[?A[,F+!?OJUK_++/H.<8?'R[@[/OTNAA?/X_'AW8AWRU9@
M:"1L4#2:EGDP)/YQX73GWS]K[?"B\-,&GZ]@Z #^WV@LF,."%(P/XM6_4$L#
M!!0    ( $.+!EGFAI</ P(  *L$   9    >&PO=V]R:W-H965T<R]S:&5E
M=#(U+GAM;(U476_3,!3]*Y:1>$)UFG0%2A*I'4/PL*E:!3P@'MSDMHGFC\R^
M:;9_C^VDH6A=Q4OL:]]S?$Y\K]-.FP=; 2!YDD+9C%:(S8(Q6U0@N9WH!I3;
MV6DC.;K0[)EM#/ R@*1@<13-F>2UHGD:UM8F3W6+HE:P-L2V4G+SO *ANXQ.
MZ7'AOMY7Z!=8GC9\#QO [\W:N(B-+&4M0=E:*V)@E]'E=+&:^?R0\*.&SI[,
MB7>RU?K!!]_*C$9>$ @HT#-P-QS@&H3P1$[&X\!)QR,]\'1^9/\2O#LO6V[A
M6HN?=8E51C]04L*.MP+O=?<5!C]7GJ_0PH8OZ?K<^",E16M1RP'L%,A:]2-_
M&O[#"2!)7@'$ R .NON#@LK/''F>&MT1X[,=FY\$JP'MQ-7*7\H&C=NM'0[S
M3;NU\-B"0G)S<%^;,G2T?I,5 \6JIXA?H4C(K59867*C2BC_Q3,G9]04'S6M
MXHN$M]Q,2#)]1^(HGEW@2T:/2>!+_M<C^;7<6C2N(GZ?L]NSS<ZS^2Y9V(87
MD%'7!A;, 6C^]LUT'GVZH'4V:IU=8G^A]9R^RPQW&H%,YQ/RTO:=5C Y)Y*=
M%) $LP]M8DFA6X5]+8VK8R<N^P+\F]ZWL;N\?:TL$;!ST&CR_HH2T[=&'Z!N
M0CEN-;KB#M/*O29@?(+;WVEG8 C\ >/[E/\!4$L#!!0    ( $.+!EG7H14@
MWA\  -EH   9    >&PO=V]R:W-H965T<R]S:&5E=#(V+GAM;.U=ZW/;2([_
M5UC>NQV[2G9LYYW,I,IQ,KO9N\QFXV3GP]5]H,B6Q G%UK!)*YJ__O #T ]*
ME.)D=^Y1=5\26R+1 !IOH-O?KVW[R2V,Z;+/R[IQ/QPMNF[U[-X]5RS,,G=G
M=F4:^F9FVV7>T:_M_)Y;M28O^:5E?>_R_/S1O65>-4<OON?/WK4OOK=]5U>-
M>==FKE\N\W;STM1V_</1Q9'_X'TU7W3XX-Z+[U?YW-R8[N/J74N_W0M0RFII
M&E?9)FO-[(>CJXMG+R_/\0(_\??*K%WR<P92IM9^PB]ORA^.SH&1J4W1 41.
M_]V::U/7@$1X_*I C\*:>#']V4/_D8DG8J:Y,]>V_KDJN\4/1T^.LM+,\K[N
MWMOUGXT2]!#P"EL[_C=;R[,/'QQE1>\ZN]27"8-EU<C_^6=E1/+"D_,]+USJ
M"Y>,MRS$6+[*N_S%]ZU=9RV>)FCX@4GEMPFYJL&NW'0M?5O1>]V+&]F-S,ZR
MFVK>5+.JR)LNNRH*VS==U<RS=[:NBLJX[-C_=/+]O8Z6!H![A2[S4I:YW+/,
MH^RM;;J%RUXWI2F'[]\CE />EQ[OEY<' ?ZE;\ZR^^>3[/+\\L$!>/<#'^XS
MO/M[X(T1_!]74]>U)#?_.4:PP'LP#@_*],RM\L+\<$3:XDQ[:XY>_/$/%X_.
MGQ_ ]D' ]L$AZ"]>&5>TU8KEFG;N9>_H >?&T#P(:!S-/="SJZJ=DYY/LC=-
M<9:M<Y=536';E6WSSI3T2]8M3';3T6]X[SJO*S(;395G!.AMWA8+VJU)=O'T
MZ</G6=Z4I-4' ;PR=;[.6X/7K_HY*4-V\1@[?O'H; N9SLX-O=N2]G2+K.H<
MF9FIJ\HJ;[&3 $+?TG*P)*9M:;7.9D0!%OSC'YY<7IX_O[;+5=YL)OSKQ7/_
M\=J$3VSK/[1]>^8__4 @]-VLHK6RFJPC!&G5VMNJ)*2(EL(V#0S1;=5M,F?K
M'MQE!M8]/VR64U.2;M"3RY5M3-.Y268^=Z9M\IJXU9FFR>DC\*VBW^;",[=Q
MG5F"CKS+3)-/:T,\:,GJT88UIH--!'CE+:%!]M>T!)I@M*NV<D9@YCV9&@L3
M2>:E_63(UJ>4@=B+Q\\=L3$O?^WSEMYV()< W^1-]JHR<SM)]OPL.R#G#X.<
M/SPHYR]S1TL0^]Y!.!L2#+;DA.Z[EEA7K8A,%C4BB[2VY._'M.!W6(:YDQ>%
M\ <\[IN<]K+C/20SUSCY25^A7V95DQ,XVD\'&5]BD[-%3BR?&M.0O)A5WHHB
M '!;TM-&1/KCV<U9-C>-:?.ZWN!KLP+(/-JM5<3U^$]75^].9%]7*S)G+!=M
MC^]$\>9]G8L($EVL=:;HVZJK](G7GXM%WLQY_Y>58R=\?//Z^@3OYFTI,D5"
M4"T3LH@ VP*9L^S:M!WI)STDH8/G:&-)N<O*%;5U/;&;/J"O09/H0K0#7V;=
M(8:! PEOXXZ0$MMEU0'HJF]=#W='ML#U9)Y&.71&)F:74$=N7PP+442:5I#"
MD;%A.DIB.&L2\38\29M$NR/$$ Z@<-;7=;8Q>4OFS#$&$_X\Y=F0*R2FJGRT
MD' ;UA$!2G9Q?OJWS"UL7Y=$<X88#2\1Y;_TC<1 S!E>>8R=+"ZI0&.OW,Z^
M;%N$JZ;I"=#['6S^+1)*^YT+J61X .L5,8PL7IO=OV ??C^;9+/6+K/UHBH$
MQVE>\W9*=)KR1$TY/!"95V)T*;8J*N!UV.[K5(I^#&3?1+*5/EY3U2EHA;?K
M;'7IX_7"0E3MNH'M]2YF0_M'.\GZH.S+*'!H7%Z(CHG1OC6NV]9Y4U<4U7GW
M5Z0&YNR  7T4#.BC@Y;MQLRQ(DEPX-Z8>3P(9#Q(&($\ZB\H?VC5TD!9:ELP
ML62LEEY=F-,?&]XXWA=AV-*2PZ=] -]SYTPWA+#/\8C=KC=+RD%(G]Y6Y'B=
M[?*!.U.T6+I)9$G(E!SRG R=+(*X;^C!'N?--%( \(^Y[G$W6RPJ,_/,(Q1*
M4U0PPJ?+_!-I#=Q5W^I3YC/9;K4W%+_#NY.<$BFWR&$2(-X6L2G.\OD<MKS;
MLK13=H;07#*/*^O$]8D]A-4A! !K%S506//N:.!(RQ&2A6XGMI#\"!R5:5EF
MH-PY B9\2OXI@M3=.!A#/ XJ\/B@"GQT;(=?NXXDCG9\3/Z_#@)OF/B>0.NH
M016-!JT0G.B66O-K7\'W$0\H]67!(X'#UF8FK*),ZY<K$3<.\?+9C"21-4;,
M/V* 9;!97D_HU;K*IU4=/7KTN1J/@M-8>=\[LDJIP?C=/#* [,.-Y-$TO6)C
M/J]@G\F 4]1!.QY?4@FI+!GUJZ+K$V];L&\K*^)!*]ZB6Y" 1IX=,IE/@KP\
M.;C;']J<G,&5=P3OR5%5MXB?Q@3G&T%E/QNO!:2,<\M&A@*9BF+XV[SN8VC&
M6LYE ,3;48\RDY.;]-]$LR% *.JG6 %)FUB7%5+:#2MU:<@ND<O!DNN%04+D
ML1+[NLK)[):]R?AA(NG7'E)"-@'5CQ+&0V6!<V/L#R#2RV1.Z/N>3. 9"%Q:
M,ND$I""7:1)'N,HW(BR\@R,$DM7<_&886Y@ILBEKMA7X0 DD028N"'$''HA8
M RN.A3FP(; 0P()C]?A"!L,,34QY,J": C BJ4(P$U]@NTZXE[\0'1K>43#=
M@FV(.ZM.K&-,]N"!'*V/<DN@/F$4@7/0%,H>24UGE2G%>Q@"1\%KD8#%:J:@
M/3M#ONQW2^,8'T/)SJY;A+TP5V0H9K1IJ?U9<# EL@'_MU#]KZM/!'9A;2EF
M(T&1V$09HR$UW=ZETO;3CJ+;&$_1TZ2EQ-&*PKF2)6_B7;]=D3B*&8T(3=*U
MU/YXJ@B87^&0QC\-&O_TH)J^H<BLP;:..X<[OXP@GC"]HMBF1DQ[R0YQ*Y0,
MJDKA1=D7&M00W?T,VH1L9KI!I-]"4UHVQ;P9K>%\"J%GZQ;5RL.M%(%-ACR0
ME+'JR, 0BS@"C<4.5EHO:KJY@+-B@TLFJ$.B0^'-DCZO.K5!DT$8+#BX(1+P
M"M6\,65 );@/(N(41&R"N4@I;;/CZ[<GF0\9'%L=E&7$JB "H62!;:,W$-_1
MIQ3R#X,FJ*N=-]5OI@QN:HC0AN.,1EP=Q XQY:@#8QX4(7>E;Z ^D\@IM76T
M9S".MZ;=G.;=Z:K."Q.\7U(-(M>U CHP^FS06MJ5.0/"]L#AQ=S80P17YZ1Q
MCI,XL=M]4ULI*^G>-?D2<3069J3%%28HIYA,*?-R+(UMY3Z!+[:^E2!Z"O_K
M7;"LJM*2K* Y,5)LI[ZZUBC<<QC*#)*J;E?:7/*<6M)!HKD5@"9YGU/:$*'#
MZ/GT%RP2%5O30F2+8:/)E9!H(8#9#-*$PG:=*_/:3+*KMOK--CD,$&VAWVAU
MM$$EU_ARA0#:]HYCWJB>0"C0[$1V2K\I9 1]O0_)2XL2'#:QKGYCOP_G3MM%
M&3*)(.IVVXH/-*[?NHD J 8VN7=^F];<;,"R)"YD,.7II2$9* ]!'YB5+ZPQ
MJUK7G:+"*C]1.J4K9,<_OOGQKR>P^QOU>J(\[#F)@T;54/.WQ"J(9%3C?&&M
M2G29-H;$%I&*"S4A=:L^0/R97!II(MDC25G,9]1A6%KME$2*"!M:I39&BV5T
M[;KQY.QFM,:FJ,$=DC26)/'%XH 3_X\ @F"2I![R01?GL1%S?M"1O&N1_W12
M:WA-"<(*3!UMM7P+H&SPL0D?@R-1AGG/. AC T<J0 :R&\@%6B*0OE.LZR7"
MDASRMY&YO3.( &#10CE%4HU)4LCL%A0TLEA08+)A*R6V?0\@;')M:-\6EE*!
M:HDDW><>C'*09#(ZIN*>P!Z\9F: 5J:U*H;.9GXBQ2AS*PFW6R"E:<]0Z<HK
M#5;1^"34)9>%<$E>4XK-8W$E,3W >\G2-6HD>@@R?X<(B5=&UH0$"MD^*K*2
M5E9MT2_5U/N*HZH=N1@)<CGUXJS0>[YEON%RY53T#,:#M(_4"(E 4F.A7'$E
M)G66':-@"CZN*^(+Z51Y,HGZ+7Y!? &9]'[9R\]!=MBW,9U+"X^C:5M2:I.8
M?Y/-V1*W$EBKEQ!$<@ZB5N-,I)TI:L*=PV2PG9'U&Y$=H\6T-"=;U<OOW-#I
MA!" ?4&H61U4[:3'>G%0(_]$7G5=U?6H,M_M5214/OR%I,!/S/UW?5.JF.<]
MJ2/91"D_S_M**N)7-]?9Y<-S?C.\Q4:2>44BC* $AC@I!G1<Y;"W4MSAR/;F
M([IOCT_/'TRR&Q)64J*-MPL?2,5X@8#RFR#-JDGPU8:+2'EI5^J=T]HP>?3S
MLPB@<BRM),CDL. 1ICWO-V7ZW:[&Y%R'KCG6X^YAJ#!#J@@&^3147NA9E!UG
M7ZE99!T'3%_""$*3! 6H^0UZ"$, T#@M,$\8?1"$FJ\6&8\O3K(<)32VIK3^
M,B]:>SJ2Z$VRX\L3+I;%-GWR'@<_(:)-2VQ$W_'] V_*/E>%"?4&NZ3<G53"
M%I\D:,T<^?B<S:IX7K:<U=)PHL_Q=I! K2HF:1NZD;=85#RJR";"$MNJ6R4(
M4H,GJR<2R?O,>\8)*!P%63$P+V2F,^*Z!@Z*>"P@]8U X#8HOSHPC1J&O9EQ
M]&A# X @_W>LS$&KK__D8 ME;LJ71* AYN(,#SW!5>>\-6X$M6%5C5$CF4/R
ML^4ETN*$EW#FSYU@(NHRFAB,N!_.)4PL-#K-SC@8Y,PVA3:)*J;Z[^7+E(FN
M_9DB[5N4NJL[(HD]X>A\=U/NB.HV2,ANNAMD1=JYD:PO!+'F5ZZ0R?L:GOIR
MZO;Z/HB*M,CVCZZ1&!&?N8E9'Q SQ!@UHEC^VV5;/L*T7_J2B_$Y&ER4$R*9
M\ TM))&R[;W4R%,3L[>2+1D*WI)) ]3E6HMZ)D$(Y4]6$IA/@&8*R9L9-EJK
M?EJS;93DUN<]']4-0G\E+"4(?4?YX&_#GBK'(*(VG'T(O)J;=KZ/DS?(%[AF
M[XC3-7FGV)\8]O-X4\B<D64DD@OGYTIV-4^ZE2PVVB06*YFDA5+20<AR@"U@
M2<X5?>PU,,[=(IN1?"OEMK;SS1=7]&Y9^Q'EU_4CDE:9KT&:,E3Y28U;!')$
MPJQ"Y-G.*SBQR$2E,GSC1U6*?%5!V@)-$_]HEW_FBBL]_/KEFP^OKB:PHBO#
MY2):;DV;I=]S-\,V\U.(>^!4^);\VUR"'RDPY*5X616Z3[$TX,5_EW[Z,BVF
M[[H!=H[(,;4R$30M\M0V Y!K=(7KBE@(KDH3WUF9ZD'P("V@%IWN%<K61<=?
MB3BBHL&A3=\H\J&!,NM9:WT?!5KUC5V4B\L8]%X>C%S_RH[\30PMK]BFCL;
MAR%%&&ZT5^JKY,P+BH'(+)XB6RS' EM4?>A]##YQ%),7*OOQ61*0DK:@)E$E
MZ3;%HH$Z2<7$E[18^+%GBVKE=+"E.05DE!RX%<)2(P;<ET*BS3N-!;1M%-GF
M"!F:]**Y$&)@B,Q6$BXMV^ ^!(ZRARN0W+S>EU.SF&I7:64[\!*V/O@<KMI
M@G=1'9F[.9"%;,7KZ!,DZ1UKJVR;0C]&VG+_T?F)-*J^.ES?#;SV)\"! ]W0
MWVXAUHQNV+>EZE^'X14:Y5R)H\TWJXE&KA)XAV!:['F2=(B3M^C.T!J2@OBA
MI1A!/.,\)'7>G%*F680(O!BFI IFN6KZB[32U,SL#!P\Y]0E!=]PBH!@MBE)
MI5 6;F-WJR-#5KKG7\Q<()22I4C^,IZK:!Q;.=UBJ1KH/KB]&S$H6>W9EF&1
MG0,_M2:8']$ /RE>8^>DV.6ZI/)$KJM?,?8!-A>Q83PTFHP?C@7]PG?:LY&(
MP,569ZB]:+2VC<%V;A#3I!'^^"PIA-.#Y16EB,5^5L5$2,K3GDFAEK<GOD\Q
MER2269(^F:.FY,:V5XK7&H]O[_QN'$X":Z0Q,AV4J*6ME-@+%*]VH^RM'1P:
M%3MJ67^?P)N<D3L4TWFKH5'<(*B2@E'0;8W;@ "+.UF#@HM_NP8AD45?6-)O
M- $8Y-+)OOXS8[,!V#0PV]J<_\O!63SM<''P>,*+][J_[T64]\T%?CT43<+@
MN3_8%=GR1^>/_-"\?YS)NM:&L,8[U[[#JU/UVWUGU;@@F#) 8%N?:W%_V89F
M.XG@DB,\:6C2<QA;K H)I@YTQB6F:7P6K?6)&081PD+L<R632I$4,^N-!,*H
MKM8NEA^FEGE8[.<.7B+J?D"%W55AN0NI4]U#CJC1=$/_3@'"K3F% 87TDK1Q
MX"1Y/+%DR@+)-&%VM<LYU$/%-(XI;-,G)3&N+!RF:H0F>=V_>X#K%']4)SZ.
MW\0-)?DX=B<QL/3/3^CY[1<&)4_*Y^=Y, 4I/'Z5WAUZEV1:5V()/'9[X@<:
M]SSDR1A?&IAO+<[&X/CV9(] )_+,C-YDCB"Y&2H1>\@C*[+G*\X::$69[6!,
MJJ69L,];=2B;(2TW4NW?^.V7?ER!MFI;Y:%NCRU4A^UQCU.>0H!X35KBF>C[
MH^?#(0!7+<F^Y8V1EKJ,6*E7T6,I0OJ4HFF4#/3XC#:N/4OB_,QPBC1AFM>-
MR0"1 Z\79,G9X&,Z?:$#4[YG=BQ]Y7S).H@B!7A)R"%T.$G"QSC&Q:8HE(%T
MZ,3I,F6RC(YU[:+YW1#!TAHMA3*(B!QK!@_)\;0QA]1<+[,I0[S3U5\7$K48
M5,0*(T=#N)F!H%6&\V3^-V61!?U:[D'+["Q[FR2UL:OFQ8'HE2YO"#Q]DYWR
M/9-.BH;GT[@J".YIU9Q"JD1!O)D_;,3/LM<HFZWZEBP4O#QFAC",A:H/L\Q\
M1JDNF2Q*4O:)+!4/SDQ0UY&304C"@C(S57D" GU)7MA3BA[UX-V2ERVZ/3J+
MWO(8.[Z"]A&=]WUPAJ+>D?'CIG:U6@D423\,QZ2J<M'>#J8@909*MS[,,08.
MCMGK[=&HN\I@@NYPYLM;9K?/?HOE"F(HPP9HI5@]?U"PX1X2,S#4=W;WRK8)
M?A8!V+.[*0$6(1YVF:*_1HAGK;C'*755Q)E@IPU>'_8.*@H<R_KH,.RL0$V&
M5Y.4/>J?KBWI=C+B%?(FKYQBHUL99BLELY_UR<#XAOT02E2Q[3=J$Q*A#@XC
M:3X]@VW).3KQ1U GDO"&F,+Z>6%RX<AZD@AJ$&#N ,(D6RA;LYRI?=""$X2H
M^(0]$:N*FIG,,@ 28E].8BF!F"]\LJK3C8I"./%)&>#HZLD,_'#4:8G3T22A
M S6;F3":LQ/$^+#7:SU4><S!^FZ%>%B?CZJ+==''*EVV[[;VSF.V5Z23S?EG
MD2<3#DD,%T1%<S+3I76;;<>+_#N5#*SD9]LK.2Q8WH*0YVI>3!A)EQDBM:R#
M PN>HK:4M#_@FIR9&/K$<@\2"5\&_(@\SW&NYS:,HRPK4MC.-F8X]KH5(WAK
MN:45WQP[I$??OL5R?R%Z^#EA1"Q,C7$5W(XL8!8J@]2&!.WC<A^&\F6@5:$B
MH$49$<:9QR;)"QY?/#D1J=SA:3%,3&-B6%J9 MBL8$;C@54^ZL6'&CWY[%+.
MLG?IKYS7W^*JA>EFR\UL5G(D)XTCHM-J)<<"+??/0<33<V+A1H]/^)'AH6]1
MM>:*9]]B"TYYE36/'S-3+<_L;P5E \[A6!QD86UE,&][+D^!;;B[X?>E:'N=
MS%'M%*V=\0*C[BB B0.59"M[R4H^-7;-:5$\KA$KZ^F;?+!IR 0(JDP9=;)S
M>@)*DKG$644]K_W4,,MRJ]EQW_@TK-R7AL5.J@9[<998R@$^SH),$>H7ERI]
MZMIQRTH4@&'@BGYEI_%[&0(5'83=/C/%%4E4 ]#D":681^>/=GF3UXXTHA:V
M2A0#WR^24(1CWTZ+"#K,.!F<FA;["5?I1V++ROCV 2]]_\'Y))->X%6<+7OE
M;>PU9">X,S]<=,O1JC\(O(V1=]=<7. C8?$\;3H^G [A0)CYI/6A\EF\?N/B
M\/T;-_XT &CY,!SD9XI&BVG_(,QL\(1,[FT=(A!-')M!E9'V?\G.SRY@3&L>
M@X!>Z7Q!S/U5+L6B_:4GOOEK5GA=/JOM"\E1\]-#XC' E/(N7V_AS_M57QK_
M3PYCW'T4,UXH<7'XJH?WA#;?1")2R%U>-M+[M^T? 9@-OBZ3KR/K1D>&#Q$;
M#W]?'#[]?562(I'E H_WT_>5,++TDR]0\;]-3.*9X8O#1W[?R,#)A_SS^)FP
MKWA]YZ02CM#$@1;CTO%=-FSI2=PXW11,)J9@]IW9'8:7\9X)[C#@1?"09V"Y
MQM5U;37MI4^!R(S;#O+=U'1KH_6"T9-26]-KO VAK'+@''+'YS^2J02@A<#
MW9W&I<D=GVF18PFFR<6)^?F@&"[@.!F*ZNRL\L],J3)?14P.'2"<4(?#$8)9
MXE:B=C/@B9=S#SDV@Z6J1_BB.*Z!DIS4MDU,* Y0Q<-W6D\'8H&28<[,A])2
M[-5C2IU>E,O70HDG;&DTWA[6M&BU,%*6'-[<.J89#_1 >'?ID-!@;0;5]#L,
MT?(APZURP1ATE)U#UQV'A3QS=QI#2K3R?)9.C%%LJ$=EN27"\Z+8X_@YB]08
ML@1H:OA" C]3<.:;7;(;(XL,Y-,?"\/0INL&7254IC@CTXG4A^?_ZM</RT:B
MKV/8.ZB_MWZMY$#)3&.ZH8@D$FX22?,]U,P69+1'#E:*N2(TC1M<C]$WZ;%+
MZ+ O*K"0Z@O^& 8?_":9K%G:Z0E-<"2W+M&GQ4R3C"FI$SAHRN-Q_HO#A_!O
M,"!R^C*7RV"6 +WW'I1O!#5,9HOT&W%]"=MD7L6NXGEX\(E2(7%J^!*S@Q".
MO-%WR!C5=F/"10ZT%L9]AN6#F)B-C$I0JE3&0S5ZI0.O,*P?XFO!3;Y-8+E8
MQ)56->L%<T3P&-"M>SA)#HZ]K'-Z]J986+Y.BU<Y]97.I:5,5H1/%F8DAY2D
MBRE%@\CCRY-QW,)R&*P;U@P\G] @814"]+V6AMSJS%0=WUXUR(WT/H)D9H"'
M(U0/OTR_Y-!.^[DN-M)^W#EPD)[1V'.#3'J*@YC KW-EGZ_ XSS;9W!;\\][
M3X.<!8Q>!S=(=E\=7OI1VO9(,SLY-G)H*Q/G:OL.5>Z2+Q3;67GG$.RMQ8B:
M5*-?FGG5\.Q'."4<%20L$]]0.<61T5I.X:85\T7>^C,RX16N]WFDWE?NT^D,
MZ5,TE>QVP9AV_,N=*S7XCK</+=OS3;:I3"U]=G%J6_4454]R +^9UN)J%-QP
M,00A]W=Q&6N)\2$-H#!6_IE90:1NG4\8[.H.R\L*9:6FW-IP_W$F,W;],NP@
MXZ;)?5I[D'E)+L?ZE\6X<2;?V'C0EVOV4EJ4(,0_?M [Q*L?+@Y?W\":]7?6
MK+?1D8['_-\$2>9_!P-FV[>+!96-<3:Z+VVO[<AX- >#5!/1TGA^,EY6,HD?
M$KO")UR2V[D.R(=;H=BD6I^4W1-)T; ]<0?^M@:NT.!HK)<Q/TN@MQ$H&6>I
M$5NF#,K#')@:A/3;"<=ATK@^#:W&] F613)I%+]-4H>QLT9R-GB@=CMW+.E0
M&A< <64? $B=J6>:0GLNIFPXMEHE4YM1VM66<\.(3,!IC1H &1<R6<3WC5PT
M5F%:&K$#(%;-JN^&KB.&ZCR.7OW:RUEZ/=V1[(HL'N_PVL>04/L1?+0LB;4B
M:GPS !I84[ ,%SA'C_3O_-K%L^QO23]5!\+32T1EZ)OG=&!)-?M)V#4PHP+U
M<ALJ8/A#.*,0=M=]/FCT;J.1P$M$5(Y?"MIAF(\/H#+HYWHK'3GJ4[UV,&Y,
MDD&BK)Z.8^I^\D6V4\0=FH1N8;S-A?O/V)KXJU%T0:[,CXI#6!^E3G_@=0\>
M?7,0DT/W,\?[#"X/7T. VZYXXO$-[D\H!U=*M[:Q&(3<:VOO"OM*SQ'O!9[]
M1.S@I.UNR& *[R=<*8"3PZAURMC=CU<W+^4BB%)/05_>/SU_//&CC?XVQ/>A
M''\LXX^73\Y/GN$D=+RG@/16'F/N^S=?Q2M1P\W"6.DG>^97"Q-8(IS^&)Q.
M]?CNQL1?[R?7<OI+!W%_*9N%R4 H_+V'H? 6!#_>^!>;Q%8Z?SJAM.^.PDSN
M*#R^_NNKMR>34!\2KQ,:XE*WXRIV&]FA^&BRP?U''?\E6M2":;5$'_TNG#'S
M=P>PY=0)%N @03JP8R>Z($D&)7ZT+UQ3*+833*]<6BI!!@::PX' <&/A+N(Z
MLJ] )'1C$PU;'$^ZH[[F U2YBBL<5[]X.%'! P=F,AW.V^?[FVJLOPK< \Q$
MA9/W.AZX@C_$3;B1\GA_+#. N^!=:WVQ3@IITCBLI,G+*&FL'SW66,EPZ!BY
MN*.WW8GCP_J#N7\N)M#34D8;BYB2BX2'T$/76X+42#:.KR#&S!&N8,:Q3I;@
MTP]?NN20)W4#?[]D(YY.LJ-!.5@-P^,'8X8A/CDP"$=G6[;@:;Q#D@C,N5=#
MO A7>I:#\Z[Y%',=Z>'>K6'(**>^\,CY;H.[E!0$YM]QNMAM720YJ&1S0$^:
M]PO%@0X3\&'J*2<2R^!E00SG>]^N'P]TD&\HU(E$OT_EUJOSX#:YB!*G=T-E
M^/W$],KM+.\KU$E!,;TB&W7+X?CW[RW>_K;^RP=[9?O!Z3GEU4?7MF1?PJNG
MXLS$7SZ_BF2RX\,M,/1?J*F':9,&8\DNN9CY["@5>BRGE\B@EM'B9JY8R6 X
MA8>1="G"9 E3D+C]&Q06N/"04I"X@-T#8G.;UR/"4_'B3J]#46H2INCEJUBU
MK]PB=%9P8'1X4E+OX1\[.TD.!T.-?8,2\<X:_D*>7?HEA-U:Z/]5\G_*<_QL
M% :?1$3M"B<O9#KBYJ/S*N8OBMF8+ER5D]Z3$N[G1!\C'6TI0\X2+EW9&N?B
M.PA-0J#$=>.4C68"]Y*_-K,T[9S_I@Y?SMMT\H=GPJ>9_[L]5_+7:N+C\D=_
MWNH9LMK,Z-7SL\</CV28S/_2V17_[9JI[3J[Y!_Q!RA,BP?H^YFE)$]_P0+A
MKQF]^"]02P,$%     @ 0XL&6>SW9<.R P  :0D  !D   !X;"]W;W)K<VAE
M971S+W-H965T,C<N>&ULK59M;]LV$/[N7W%0AZ(&O$B69,=Q;0-QTF$;UL"H
ML^W#L ^T=+:(4*1*4G'Z[W>D9-59;6,#^D4\OMQSS[V1FNV5?C(%HH674D@S
M#PIKJVD8FJS DIDK5:&DG:W2);,TU;O05!I9[I5*$<91- Y+QF6PF/FUE5[,
M5&T%E[C28.JR9/K+$H7:SX-A<%CXQ'>%=0OA8E:Q':[1_EZM-,W"#B7G)4K#
ME02-VWEP.YPN1^Z\/_ 'Q[TYDL%YLE'JR4U^R>=!Y BAP,PZ!$;#,]ZA$ Z(
M:'QN,8/.I%,\E@_H/WG?R9<-,WBGQ)\\M\4\F 20XY;5PGY2^Y^Q]<<3S)0P
M_@O[YFPZ"B"KC55EJTP,2BZ;D;VT<3A2F$1G%.)6(?:\&T.>Y3VS;#'3:@_:
MG28T)WA7O3:1X](E96TU[7+2LXL'ROMORAA8H89UP33"NT>V$6CZL]"2 7<L
MS%JP90,6GP$;PT<E;6'@@\PQ?ZT?$K&.77Q@MXPO OY:RRM(H@'$49Q>P$LZ
M;Q./EYS!^\"TY')W[.U?MQMC-17'WZ?\;>#2TW"N8::F8AG. ^H(@_H9@\7;
M-\-Q]/X"V;0CFUY"7ZR;/@&UA3M55K5EOHYI^FW23G&_C/Y8(&R5H*:D@(!U
M*0?OA+0&+&UFKVU*LBF<S8ILFJ90N*23JC9,Y@;P)</*'FWG5(]]F/8>"XT(
M95,9Z"H#**_H\[KF+Z=W>B[C+NT)=%+OH2Y1,ZOTM/=PH/,#O(-X,!HFT&_E
M.!JU<CJX&4]:>32(QG2F=X]241\U*$MF> 9[W[IDG#T3_,Z[3J0:-PS0568L
MN>CB-(P&-\G$#2E9I.$Z&;LA2:/>2M0&<BYJ=\\ ;K=T\;C(5<I24#D3_\)]
M^V82#^/WY\;>O8,B5M^)WL,W"3SX[\(37<6'")(X[,1T_%6\<>%K2?T/G0NM
M,.I:8?1?6V%UB*;X O>'8*\QJS6W',VI1KB(?;J)CZUT*36=%5_ZAS18E3T!
M?J[Y,Q.DU.:E#U)9X#(3M:MKWRJ4.B:R6G1-E;?1/-%<&\Q8;1"L@ER!4?2Z
MU2*G96!$[,>.E#O+3-O*8%XW9?][=M_:.ZHJ1]X,Z$6F>Y-GCGX3 C+H^/L?
M!9EANQH/DLDU?5U!TC=UWV1\T[N[&+US:G"JF,*CYX\NB)U_Y WEIY:V>0F[
MU>X_XK9Y/K\>;WY"/C*]X]* P"VI1E?75#NZ>=B;B565?TPWRM+3[,6"_H50
MNP.TOU54.>W$&>C^KA;_ %!+ P04    " !#BP990#L?JJ8"  #;!0  &0
M 'AL+W=O<FMS:&5E=',O<VAE970R."YX;6R55%U/VS 4?>^OL,*$0$+DHZ6M
M2AN)%J8Q#0E1MCU,>W"3F\3"L8/MM/3?[]I)0Y%*I;W$U_8]Q^<XOG>ZD>I%
M%P"&O)5<Z)E7&%--?%\G!9147\H*!.YD4I74X%3EOJX4T-2!2NY'03#T2\J$
M%T_=VJ.*I[(VG EX5$3794G5=@Y<;F9>Z.T6GEA>&+O@Q].*YK $\[-Z5#CS
M.Y:4E2 TDX(HR&;>33B9#VR^2_C%8*/W8F*=K*1\L9/[=.8%5A!P2(QEH#BL
M80&<6R*4\=IR>MV1%K@?[]B_.N_H944U+"3_S5)3S+RQ1U+(:,W-D]Q\@];/
ME>5+)-?N2S9-[JCOD:361I8M&!643#0C?6OO80\P#CX!1"T@<KJ;@YS*6VIH
M/%5R0Y3-1C8;.*L.C>*8L#]E:13N,L29>$%U0:A(B0ON7FNVIAR$T>3LF:XX
MZ/.I;_ <F^TG+>>\X8P^X1R2!RE,H<F=2"']B/=17R<RVHF<1T<)O]?BDO2#
M"Q(%T> (7[\SW7=\_?\V_>=FI8W"I_+WD.V&=7"8U9;/1%<T@9F']:%!K<&+
M3T_"87!]1/.@TSPXQAXOL1S3F@.1&?E<_VI+EBP7+&,)%8;<BS5H@S5D,-5
M+M7VD*^C)Q_V]5P R23'FF8B)\8]%:(+]&1P9R'+BHKMZ<DX"D?7FB0[P2Z
MCX+UGF#V+CAI!9,S)I!4UAH)]/FDAZ\!NM= ;B&!<@6*]$.WTN^Y2_E"QA?]
M<(CCZ.)J'/9^P!HX"2<]?)JPQ0I2+]CQLAHI21@$R!?TGJ6AW"$'+7(\#LFA
M?^?O%5P)*G=M!6W*6IBF]KK5KG/=- 7[GMZTO0>J<B8TX9 A-+@<77E$-:VD
MF1A9N?)=28/-P(4%=E]0-@'W,RG-;F(/Z/IY_ ]02P,$%     @ 0XL&6=C!
MVU/' @  : 8  !D   !X;"]W;W)K<VAE971S+W-H965T,CDN>&ULM55-;]LP
M#+WW5Q!>,:Q 4'_$=M(L"="/%>N  D7;;8=A!\5F8J&RE$ERT_[[47+BIEN:
MG7:Q1(I\>D\2Z?%*Z0=3(5IXJH4TDZ"R=CD*0U-46#-SK)8H:66N=,TLF7H1
MFJ5&5OJD6H1)%.5AS;@,IF/ON]'3L6JLX!)O-)BFKIE^/D.A5I,@#C:.6[ZH
MK'.$T_&2+? .[=?EC28K[%!*7J,T7$G0.)\$I_'H+'7Q/N ;QY79FH-3,E/J
MP1E7Y22('"$46%B'P&AXQ',4P@$1C5]KS*#;TB5NSS?HEUX[:9DQ@^=*?.>E
MK2;!,( 2YZP1]E:M/N-:3^;P"B6,_\*JC<T& 12-L:I>)Q.#FLMV9$_K<]A*
M&$9O)"3KA,3S;C?R+"^89=.Q5BO0+IK0W,1+]=E$CDMW*7=6TRJG/#N]DH\H
MK=+/\.&>S02:HW%H"=>MAL4:XZS%2-[ R.%:25L9^"1++%_GA\2G(Y5L2)TE
M>P&_-/(8^E$/DBA)]^#U.Y%]C]?_I\@+;@JA3*,1?IS.C-7T*G[N4MP"IKL!
M7:6,S)(5. FH% SJ1PRF[]_%>?1Q#]VTHYON0Y_>4>65C4!0<WBA?BI+.%=4
M#0N)9>?G:'IPWFA-UBX=>W?:K6,+&A@=5*'JI>:&-B4^MD*8*T&US.4"/G!)
M'M48)DMS-#J@B\/NXN ""ZQGJ*$?>T__X):MZ/%:U)P) X>0#@?TS?/XX))+
M3J^XA(52I8&DEV<#B'N#-#FX5Y:)K8,XA'XO3E,:DUX:];<.A6\?RJKB1>4%
M<%F(IO3K8#W8J\#_K3$[H6^6#?_4&/>R: C9R7"M\._+=5KCWDD^\&.<Y;#K
M=85;U5^C7O@>9TA2(VW;"#IOUT9/V^[Q$M[VX&NF%UP:$#BGU.AXD 6@V[[6
M&E8M?2^9*4N=R4\K^A6@=@&T/E?*;@RW0?=SF?X&4$L#!!0    ( $.+!EG/
MX9M0^ (  '\&   9    >&PO=V]R:W-H965T<R]S:&5E=#,P+GAM;(55;4_;
M,!#^WE]QRJ8)I(J\-*$=:ROQ,K1-0ZI@8Q^F?7"32V/AV,%V*/S[G9T2RE0Z
MJ:G/SMUSSW.V+].UTG>F0K3P6 MI9D%E;7,2AB:OL&;F2#4HZ4VI=,TL3?4J
M-(U&5OB@6H1)%!V'->,RF$_]VD+/IZJU@DM<:#!M73/]=(9"K6=!'#PO7/-5
M9=U".)\V;(4W:'\V"TVSL$<I>(W2<"5!8SD+3N.3L]3Y>X=;CFNS98-3LE3J
MSDV^%K,@<H108&X= J/A <]1" =$-.XWF$&?T@5NV\_HEUX[:5DR@^=*_.*%
MK6;!)( "2]8*>ZW67W"C)W-XN1+&_\.Z\TTI8]X:J^I-,,UK+KN1/6[JL!4P
MB=X(2#8!B>?=)?(L+YAE\ZE6:]#.F]"<X:7Z:"+'I=N4&ZOI+:<X.U]HVE]M
MGX#) C[?M[RABELX^,&6 LWA-+24Q+F&^0;PK -,W@ \ABLE;67@LRRP>!T?
M$KF>8?+,\"S9"_BME4<PBH:01$FZ!V_4*QYYO-%_% ]A(1A)?2W\]^G26$UG
MY<\NZ1URNAO9W9\3T[ <9P%=$(/Z 8/YAW?Q<?1I#^^TYYWN0Y_?T'TL6H&@
M2MB]:[L8[\7<S?@5./:5R17=1&-=>ELAE$K0A>9R!0=<THIJ#?F;0S@9T(YA
MOV-P@3G62]0PBOW*:'#%9%M2B5OMPET6B\8Z^R7;>\B&633VXV@<#[XC7;U*
MB0)XW6CU@,[+P"2=N&=PKNJFM:B-AS.JM&NF$;(L@DD<#RY;+3GEPR&4_-$9
M9OB/O#09NV=PBQ7/Z>A3+/T(6-)Y:+L60D(I=X[&D#Q(L\'N4@UAI17YC(=I
M/*;_+!L3?UI@>=[6K6 6"^H<5/&<,P]\0"KCCV,X]%9$K _?Q);HJI,,DR3R
MHZO2KN,5;C6%&O7*MSY#V]A*V_6'?K7OKJ==4WEQ[UKS%=,K+@T(+"DT.AIG
M >BNW743JQK?8I;*4L/R9D5?"-3.@=Z72MGGB4O0?W/F?P%02P,$%     @
M0XL&64FH,SD&!    @H  !D   !X;"]W;W)K<VAE971S+W-H965T,S$N>&UL
MS5;=;]LV$'_W7W%0B\(!M.C+^G!B&W#<K.N #D&3K0_#'FB)MHA(I$I2=K*_
M?D?*EMW&]?(R8 ^V^''WN]\=[XZ<;(5\5"6E&I[JBJNI4VK=7'F>RDM:$W4I
M&LIQ9R5D331.Y=I3C:2DL$IUY86^GW@U8=R93>S:G9Q-1*LKQNF=!-76-9'/
M-[02VZD3./N%SVQ=:K/@S28-6=-[JG]O[B3.O!ZE8#7EB@D.DJZFSCRXNHF-
MO!7X@]&M.AJ#\60IQ*.9?"RFCF\(T8KFVB 0_&SH@E:5 4(:7W>83F_2*!Z/
M]^@_6]_1ER51="&J+ZS0Y=3)'"CHBK25_BRVO]"=/Y9@+BIE_V';R2:1 WFK
MM*AWRLB@9KS[DJ=='(X4,O\'"N%.(;2\.T.6Y7NBR6PBQ1:DD48T,["N6FTD
MQ[@YE'LM<9>AGIY]Y)KP-5M6%.9*4:V \ (^"%%L657!\('@EKJ8>!J-&14O
MWP'?=,#A#X 3^"2X+A7<\H(6W^I[2+)G&NZ9WH1G 7]M^25$O@NA'X[.X$6]
MYY'%BU[KN0N_81$,;Y_RJBT87_=1N( _YTNE)6;07Z<"T=D9G;9CJNI*-22G
M4P?+1E&YH<[LW9L@\:_/>#'JO1B=0Y_==\4$8@7S_&O+)"W@A6>G2)^%/4WZ
MH:2P$A76L8D.PU39U[(QKW%W(>J&\.=W;[(P2*]18$])X*X$=B!&NF0;%HA'
MI,(M!!"MPNQ3%U<#/&S:'_;@BZTMA"$;*K%5 *F%U.QO8@N[H9*) H8(\4P1
MZP(^2*$4Y$3*9\,4I5NN,3YY6[<5L4#' .;8OQ,>?"+R$9<E[>0/S!7$\!8"
M-PM]^XW\$7[C(!DL;+6BFU8)@57)&@4I!)&;9CX$OAM$/D1N$ON#]W2##;%!
M:$WSDHM*K!EB!P&,W,@(N^DXAM"-LWBP$!O*"<=P:0%<\)]R##/5%$*4C^W/
M1CR\'CP(3:J7<7:!HS-O,9JN/[;\(S<:&>*)F\8!LLEIO43J46!#'OVO0QY$
M9IZ8R/Q+R#-W/(XPHFF6OB+B29!AQ-,D_$\BCOR3  >9&T8C.%/Z<5_Z\?G2
MQPNZ:-$B%M^MTJRV89MSWB*A^7&T4>!5/>&LO=,]X6"8=(;)=X9?UCR^)&RS
MX/1)PPKOY"Z'[,5CV@0E*VV:A0)5BBWO6D/7>:!K/=I<2C;[CGO&@<JJU:W\
M-F4'II' 4%+S4#$8BCU!;6^H"YM4HVQD9$S-C>/,#!.(X]0,4HCB9/!PH(95
M/TYV)[\KH9,'ZAW=RYBE:_OZP"HQZ=Y=T?UJ_\"9=_?Z0;Q['6%QK!E74-$5
MJOJ7*9Z5[%X<W42+QM[R2Z&Q).RPQ$<:E48 ]U="Z/W$&.B??;-_ %!+ P04
M    " !#BP9985J17=T"  !T!@  &0   'AL+W=O<FMS:&5E=',O<VAE970S
M,BYX;6R=54M/XS 0OO=7C )"("'R:DN ME*!?6K1(F#9PVH/;C)I+1([:SLM
M_/L=.TTHJ]+#7AI[/-]C_)B.5E(]Z06B@>>R$'KL+8RISGU?IPLLF3Z1%0I:
MR:4JF:&IFONZ4L@R!RH+/PJ"H5\R+KS)R,5NU60D:U-P@;<*=%V63+U<8B%7
M8R_TVL =GR^,#?B34<7F>(_F1W6K:.9W+!DO46@N!2C,Q]XT/+_LVWR7\,AQ
MI3?&8"N92?ED)U^RL1=80UA@:BP#H\\2K[ H+!'9^+/F]#I)"]P<M^P?7>U4
MRXQIO)+%3YZ9Q=A+/,@P9W5A[N3J,Z[K&5B^5!;:_<*JR1W$'J2U-K)<@\E!
MR47S9<_K?=@ ),$[@&@-B)SO1LBYO&:&349*KD#9;&*S U>J0Y,Y+NRAW!M%
MJYQP9C)-4U5C!M\XF_&"&XX:F,C@NUF@@L,'-BM0'XU\0UH6X:=KWLN&-WJ'
M=P@W4IB%A@\BP^PMWB>/G=&H-7H9[23\6HL3B(-CB(*HOX,O[@J/'5_\7X5O
M1G]-9]HHNCZ_MVU#H]+?KF*?U+FN6(ICC]Z,1K5$;W*P%PZ#BQTU]+L:^KO8
M)_?-2P*9P\YRMOG>R;S==ZM1_*,AW99Q#:DL*\4UI9 C"D(NBT+2C19S..2"
M0K+6A-!'YSTZ3^S.$ZXQQ7)&+''H(G&O%<-GZC^:E/8A/ X'@?L&<=A[G#Y
MQ5[L!86#O20*HPN(X[,.R 7903#LF<!Q F%_T)MF2R926B0@=1:C(5>R)-_"
M'3 ]+%'G-*@5*@(%+7'OJLW8K+U5#4][GZ3,-#6I%*G'9""D(?VEY%8K26((
MDT&ON5EIK10IOR$*DR$5_6I]^P;O0W0<):=N \ZB(6R[0/Y&)RA1S5V_LP=3
M"],TA2[:M=1ITTE>TYM^?,/4G L-!>8$#4Y.!QZHIL<U$R,KUU=FTE"7<L,%
M_2V@L@FTGDMIVHD5Z/YH)G\!4$L#!!0    ( $.+!EGQFFI3# ,  )T&   9
M    >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM;'U5VV[;1A!]]U<,F**P =>D
MJ(L55Q)@IPG:(D:,V$D>BCZLR!&YR%Z8W6%D]^LSNRLQ+J+HA=S+S)ESAC/#
MQ=:ZS[Y%)'C4ROAEUA)U5WGNJQ:U\!>V0\,W&^NT(-ZZ)O>=0U%')ZWRLBAF
MN1;29*M%/+MSJX7M24F#=PY\K[5P3S>H[':9C;+]P7O9M!0.\M6B$PW>(WWH
M[ASO\@&EEAJ-E]: P\TRNQY=W4R"?33X*''KGZTA*%E;^SEL_JJ761$(H<**
M H+@UU=\A4H%(*;Q98>9#2&#X_/U'OU-U,Y:UL+C*ZL^R9K:93;/H,:-Z!6]
MM]L_<:=G&O JJWQ\PC;9SJ895+TGJW?.S$!+D][B<9>'9P[SXB<.Y<ZAC+Q3
MH,CR#T%BM7!V"RY8,UI81*G1F\E)$S[*/3F^E>Q'J[?(DCR</HBU0G^VR(E!
MPU5>[0!N$D#Y$X 9W%I#K8?7IL;Z__XYDQD8E7M&-^51P+][<P'CXAS*HIP<
MP1L/"L<1;WQ<X3_7:T^.B^#?0QH3Q.0P1&B,*]^)"I<95[Y']Q6SU:\O1K/B
M]R,$)P/!R3'TU3TW6MTK!+N!-SWU#N%6&JE[#9$[W(DG;@/R\(%3[.!=ATZ0
M-$VZ]H?T'(UX6,]#BT"A"F =6A7B38@JFL9A(PAAD]CI';MNSZON$?K(345&
MY]RNE3655%@#V70*2HJU5)(D?PUI*M5SO? "B .SM;=*UAREYBY3PE0(:2H)
M'Q+#58%#5<!I=+.]%Z;V9U<GKSU)'7UW%%-$NU:2B7/WGR0WAV%.A=1Y^0@Z
M%NX9_ *3RU&PF,+E?!H6,QC/3AXL"?6CV-%Y^;(\>8N>5>BNIRB"D+-%< KC
MEW"6+GO#0U+)_T(*G#!>12+0, &V*]DL!?@Q.1QA.DH@OK6.?F-T?<#N%.;S
M40AG37/(YHF5C2\+.%2C^;.1H=$U<3!Z_@Z]H30]AM-A]EZGD?/=/ WN6^$:
M:3P'W[!K<7')H\ZE89@V9+LX@-:6>)S%9<O_#W3!@.\WUM)^$P(,?Z35-U!+
M P04    " !#BP99-\)MR4 $  !O"@  &0   'AL+W=O<FMS:&5E=',O<VAE
M970S-"YX;6RE5FUOVS80_NY?<5"'-@8,Z]UQ4MN DR9="F0-XFS[,.P#+9TM
M(1*IDE0<[]?O2"FJG3E>L7V1*/+NN>=>>+K)1LA'E2%J>"X+KJ9.IG5U[KHJ
MR;!D:B@JY'2R$K)DFC[EVE651)9:I;)P \\;N27+N3.;V+T[.9N(6A<YQSL)
MJBY+)K<76(C-U/&=EXW[?)UIL^'.)A5;XP+UK]6=I"^W0TGS$KG*!0>)JZDS
M]\\O8B-O!7[+<:-VUF \60KQ:#YNTJGC&4)88*(- J/7$UYB41@@HO&MQ70Z
MDT9Q=_V"?FU])U^63.&E*'[/4YU-G;$#*:Y87>A[L?D96W\LP404RCYAT\C&
MD0-)K;0H6V5B4.:\>;/G-@X["F/O#86@50@L[\:09?F):3:;2+$!::0)S2RL
MJU:;R.7<)&6A)9WFI*=G"RV2QTP4*4KU :Z^U;G>PLD#6Q:H^A-7DPDCZ"8M
MW$4#%[P!-X);P76FX(JGF.[KNT2MXQ>\\+L(C@)^J?D00F\ @1=$1_#"SM_0
MXH5OX%T63"D0*[".PZ=<)850M40%?\R72DLJDS\/^=W 1H=AS=4Y5Q5+<.K0
MW5 HG]"9O7_GC[R/1TA''>GH&/IL05<QK0LTO"]%65(U-_3O&U,IT.V$ZUJ3
M'W"C5,UX@H><.&[F(4,"*NB>YGP-VM0 6&^X5I T=I6U*W?MKAJ[>6L73OP^
MG.0<="9JQ7BJ^N<]2B-V:81/F&"Y1 FA;W?"7N..J,Q-51:*P$D7J(\H30O#
M*!A$XX">OA>U"FS#9/JFO#_P(A_&_FEO7A,9F?_5,EY+9ERJJ48ET43BX(_@
MKF <3H(^C,X@BL;_JG3#TYK\H.BTJF$?_'$(_FGT8P:ORJH06\0VF7>U3#)J
M,"U:U(?8/X4X\GK1(#@+(!IXA&ZB:Q+5I(<MQ1,"/B=%G5()QQ'Y['F@J3]3
M46_;=*F,F0)GMO#W4V%B]H]TP-#&X2N'+XS7U*NA.8@&ECROK31AL>]NMC9L
MWG<#FO/$D"&)Y9;"ZEE^K7!52U,S&K2P6OB$<BT1.96=>,J5+08RLX<XM($F
M;M>XE)9<;,D1Q=#;@]\@E>4.Q=?F-,JRPW^5S:%-P/^-P-$,[T7&[ZC#?PO-
M,5/#(STH[GI0_&,]Z.O*UA_UH8KQ[0<%\X=;6##Z7\#<_&+I!W*H]1Q%/]P_
M#_6C9GB@>"OK>LL"WK\;!_[IQX:,LF182P;26EI]$J]0YB*ER*=YPC1%_G6?
M>L@HQGO_L%?W99$_'SGN+=H::!I2[,4P"LYZGZ6@GPXE+D&D=O43];!1Z-$[
M'(3>6>\7FKVZ0[;2MK)6:%DG0NE&(_;'5H.F+3B43W=G""BI6.RH8_IVS74S
M#W2[W30U;X:([^+-*';+Y#JG^BIP1:K>\)22)YOQIOG0HK(CQ5)H&E#L,J.)
M$*41H/.5$/KEPQCH9LS9WU!+ P04    " !#BP994L(/VG@%  "X#P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970S-2YX;6RME]UOVS80P-_]5QS<8DL 5Y9D
M?3E-#"1MUVU UR!)VX=A#[1TEHE(HD?2^=A?OSO*4=S$T8(N#Y8IZG@?O!^/
MY.&UTI=FB6CAIJX:<S1<6KLZ&(]-OL1:&$^ML*$O"Z5K8>E5EV.STB@*-ZBN
MQJ'O)^-:R&8X.W1]IWIVJ-:VD@V>:C#KNA;Z]@0K=7TT#(9W'6>R7%KN&,\.
M5Z+$<[1?5J>:WL:=ED+6V!BI&M"X.!H>!P<G&<L[@:\2K\U6&SB2N5*7_/);
M<33TV2&L,+>L0=#?%;[#JF)%Y,;?&YW#SB0/W&[?:?_%Q4ZQS(7!=ZKZ)@N[
M/!IF0RAP(=:5/5/7O^(FGICUY:HR[@G7K6Q,POG:6%5O!I,'M6S:?W&SF8>M
M 9G_Q(!P,R!T?K>&G)?OA16S0ZVN0;,T:>.&"]6-)N=DPTDYMYJ^2AIG9^=6
MY9=P0G$5\$[5E&LCW'3M78AYA6;_<&S)# N/\XW*DU9E^(3*!#ZIQBX-?&@*
M++X?/R;W.A_#.Q]/PEZ%OZ\;#R;^"$(_C'KT3;J8)T[?Y*F8ET+CFS;F4W%+
MB%DXUEHT);KVG\=S8S7Q\M>NX%O=T6[=O(8.S$KD>#2D16)07^%P]M.K(/'?
M]G@>=9Y'?=IGY[0FBW6%H!;P9.8^W' ;S2[G>]7O=M[9>3-W=O)M.]+0JLR5
MIB2#;, ND;XW1E6R$);ZC*4_GE##[E(9T6Z< 6%@0:!3/3"PYT:JM1%-8?8/
M!A=+C0AU"Q R0$#I1Y?^<WFS^\N P6 Z)M"U!N^4L6RX5*HP0&X5\!J2F![A
ME!X!";^&*!J<4:!"YTL@#V@]7U&=6CD,(M^',/,A#3.(@W1P+F@]."DJ7Y=H
M95-"&D,0T"^.(4R3P4=L*,K*"8F"EJMDD+CN0)*D$$<1!*,P2ND9!.'@0ED2
M-D]-,+:)9&='H9_2_S3)V/]1&$]<[S2:0@]6<8=5W(]56Y%YMCZO+>6M*3BX
MEK#/*^?,,9=/:6]W4=6K?3=5%T0+04 ,L"7+M6:S,<A_:)89)K7EBILC8NB^
MDI,K4*RU&TW"1)=4S&$A(7?X[1E>Y@8> /;-U6GZ+JXH524._EC7<]0<^X<;
MU+FD"3]#WLY8-0'M*L&:\F11UX[76^+%[,-Q66HLR1:9L.2(D3E<B6J-#Z >
MG(A*-#F"L/ ><W3F)L%H ^PH\"-.IN^%/B1>2.U).!U\I'K$;D8^ISSV_'1P
MYQ_%!AGLLZ 7^#PVHV\KJ;$8TU:U0.GBAS!T0ID79ML^=.NI72NC*&.;4R]B
M\\Z541R'@Z]HW#01RM@:=DEZI" 8)1.WH (O"-E1M\S2[\>O:!.F%ZO@BKJ?
M[T4?W4E'=_(C=-.ZIZPYMUK0OS32]F+>:^:',>?:+9I;^.E5%@;I6RZJG6,M
M]FMV;._L_,O^?Z'?2_Y6P \7 91,&W#=AH60NN6X']S43SC3WC1M634099%#
M-8BVDZ_I!"9::(-IXHA,O6PRV"8UB5Q_[*7ITZ1.)[Z3F?92D794I,_>2D]1
MN^,MF[UG81<"O3I?#H'5ED/;#)S^7P:V(WT)"(*V_GCI] X"%T/XEGHWK9TL
M/):ZQ^'QMR>1N#??AT36(9$]&XE-2GZFDX,[+1JTMB+GU+R29;L]TX)LIVSG
M2:O7U,N1\@SO1G"]E'2^D76-A:3L5K>N"I-\#T%4+SH-)$!3_]C(P^,;O-SI
M[>,N%KET^-[TG@Q._C1VVP4=A;S0^;PAO]QLH,S=)MP@Z@9&=&C+TIW4C+=N
M4S7JTMT9#1T%UHUM+U9=;W<M/6YO8_?B[9WVD] E'0R@P@4-];V43DJZO2>V
M+U:MW-ULKBS=]%QS25=KU"Q WQ=*V;L7-M!=UF?_ E!+ P04    " !#BP99
M2$O$@+,"   L!@  &0   'AL+W=O<FMS:&5E=',O<VAE970S-BYX;6R=5=]O
MVC 0?N>O.*53U4I3$P+]H18B%;IIG52I*MWV,.W!) >QZMC,OA3ZW^_L0$HE
MBK:]8/M\WW?W77S'8&GLDRL1"5:5TFX8E42+RSAV>8F5<"=F@9IO9L96@OAH
MY[%;6!1% %4J3I/D+*Z$U%$V"+9[FPU,34IJO+?@ZJH2]F6$RBR'43?:&![D
MO"1OB+/!0LQQ@O1M<6_Y%+<LA:Q0.VDT6)P-H^ONY:CO_8/#=XE+M[4'KV1J
MS),_W!;#*/$)H<*</(/@Y1G'J)0GXC1^KSFC-J0';N\W[)^#=M8R%0['1OV0
M!97#Z"*" F>B5O1@EE]PK>?4\^5&N? +R\;W[#R"O'9DJC68,ZBD;E:Q6M=A
M"W"1O -(UX TY-T$"EG>"!+9P)HE6._-;'X3I 8T)R>U_R@3LGPK&4?9V%25
M)*XR.1"Z@+'1)/4<=2[1P=&CF"ITQX.8.)9'Q/F:=]3PIN_PGL$=,Y4./ND"
MB[?XF'-L$TTWB8[2O81?:WT"O>0CI$G:W\/7:X7W E_OOX3?2)<KXVJ+\/-Z
MZLCRZ_FUJPI-D/[N(+ZC+MU"Y#B,N&4<VF>,LL.#[EERM4="OY70W\>>3;A#
MBUHAF!DH*:9227KA3LF-Y9KS1@GBE0PX?$8K=(Y!*JXD06X<N5V*]L=\+!%F
M1G$O<[& _/. ("W4T;>8SX%*0;#$?\KELC-Y<_/)WXS]3>?H5C.EJ1W;W7%G
M)%3C17"#.593M-#KAI?1@P]PFG2N\]S633A<\?QR"(<'%VDWO>K<BY?FHQ^Q
M([PANQ,V+S=,?6;:8/Z&;F/8XN,GB^V3?:7;]>7CK0ZNT,[#G')<F%I3T\RM
MM1V%U\T$>'5OYBBKF$OM0.&,H<G)^6D$MIE-S8',(LR#J2&>+F%;\CA'ZQWX
M?F8,;0X^0/L'D?T!4$L#!!0    ( $.+!EG&[2H[?P,  !X(   9    >&PO
M=V]R:W-H965T<R]S:&5E=#,W+GAM;*U6VV[C-A!]]U<,M,TB 8SHXO@2KVU
M]GI[P:8P[&S[4/2!EL86$8G4DE0<_WV'E*Q-4,=]Z8/%V\R9<SA#TI.#5$\Z
M0S3P4N1"3[W,F'+L^SK)L&#Z5I8H:&4G5<$,#=7>UZ5"ECJG(O>C(!CX!>/"
MFTW<W$K-)K(R.1>X4J"KHF#J.,=<'J9>Z)TFUGR?&3OASR8EV^,&S;=RI6CD
MMR@I+U!H+@4HW$V].!S/^];>&?S!\:!?]<$JV4KY9 >_IE,OL(0PQ\18!$;-
M,RXPSRT0T?C>8'IM2.OXNG]"_^*TDY8MT[B0^9\\-=G4&WF0XHY5N5G+PR_8
MZ'$$$YEK]X5#;=N_]R"IM)%%XTP,"B[JEKTT^_#*812\XQ U#I'C70=R+#\S
MPV83)0^@K#6AV8Z3ZKR)'!<V*1NC:)63GYDMI$A0&,7<'ET_LFV.^F;B&\*V
M%G[2X,QKG.@=G $\2&$R#4N18OK6WR=.+;'H1&P>703\K1*WT NZ$ 71W06\
M7BNTY_!Z[^"MN7[2P$0*WTBQ,E2OAJ.&O^*M)OF)^?N<Z!KS[CRF/3!C7;($
MIQZ="(WJ&;W9QP_A(/AT@?%=R_CN$OIL0P<PK7($N8.W::*)#:,\.3EQDLA*
M& UK3) _VP2>4W(YUF.&L),Y'5$N]G38G!P+6I<@*@TF8X8.D0N&*5DK" .X
M FH+J1Q+(PW+R?L9187CSF.F$&G1U07:N@#**KJL;OC+^96.S;=->@_:7F?1
ML( 8:.H*[ND7V>!A!%<_5N<0#FC2_L(A?>SO_U1&^Y_BR5(3V&G#QYU6F"/]
MF5:*+3'JA=U_*Q@V_-X0M[+LYT+A]-O"Z5\NG/J"M;R_2A+]E>X]JA.MD4C/
MC_ SRKUB9<83TK3&/974N8JY&.1\[=O-7LBB9.+X\<,H"H>?-)2*7A!ECJY8
M\7O%2[K331<$O3C;(^Q;,K2?EDH7&.TYTTW6-%QS02F2E28 ??/?6_V[5":#
MF/:5!,)/$'6#WLBUT7V_$VO.8,42OJ.(U_$J7MS ,(31H+.L+-,N// TI5.W
M9-K4!VSG@*Z7#\OX!L(PI*H;=%879+E85)^V[0=#.)=3_]6=353W[F6BJK2E
M55_?[6S[^,7UG?_#O'XY'YC:<Z$AQQVY!K=#RIRJ7Z-Z8&3I7H"M-%1OKIO1
M X[*&M#Z3DIS&M@ [5^"V3]02P,$%     @ 0XL&6>897"N6 P  L0<  !D
M  !X;"]W;W)K<VAE971S+W-H965T,S@N>&ULE57;;MPV$'W75PS4HH@!P;I0
MM]WN+F [:=(&"0S;;1^*/M#2K$18(A62\MI_WZ&TNW6 C=N\D,/+')[#&0Y7
M.Z4?3(MHX:GOI%G[K;7#,@Q-U6+/S;D:4-+*5NF>6QKJ)C2#1EY/3GT7)E&4
MAST7TM^LIKEKO5FIT79"XK4&,_8]U\^7V*G=VH_]P\2-:%KK)L+-:N -WJ+]
M?;C6- J/*+7H41JA)&C<KOV+>'F9NOW3AC\$[LP+&YR2>Z4>W.#7>NU'CA!V
M6%F'P*E[Q"OL.@=$-+[L,?WCD<[QI7U _V723EKNN<$KU?TI:MNN_=*'&K=\
M[.R-VGW O9[,X56J,U,+NWEO6OA0C<:J?N],#'HAYYX_[>_AA4,9?<,AV3LD
M$^_YH(GE6V[Y9J75#K3;36C.F*1.WD1.2!>46ZMI59"?W=S@(\H1X<T=O^_0
MG*U"2ZAN+:SV")<S0O(-A!P^*6E; ^]DC?77_B&Q.5)*#I0NDU<!?QOE.; H
M@"1*TE?PV%$BF_#8?TC<:M7#%7'5E ITS;:%J^F"4<-?%_=FFO_[U 7,^.EI
M?/=LEF;@%:Y]>A<&]2/ZFY]^B//HYU?8IT?VZ6OHF]OYM8#:PEMA>--H;+C%
M&O:R3O%]%?$TWZ^Q]8QM@&L$;F"KH*/G:^"-D&!;-1HN:W.V].Y:C0C]G #H
M$@ H?#B%[U8\G5[Q7&!==!D<+>_R&3YQ_4!EZ+U6X[#TWDF+>M#"(/P(99#'
M&?5%P/*<^K@(TD7JC"PH(^916*FL4"#3H$P*R(.X7) 38R7$<<"2V+L8*=+*
ME0"(@R)-( F2(@,69"6#+(BSR+M3EG=@.+V#&3DN#T>PB(QD$:03"^9\4T?Y
M/:I&\Z%]7GJ?E::,NB 2HN*T:4&G%U.?$@N"H8D\GHT\RKVK5DCN+K3JQEK(
M!CXH:CZZABX7[KC8<7E&U-C""8HR)ZB((HB3($I*[P:-=5EA6W25KZLAS2)@
MC)$^EJ60I]^OZ$[TC@FA[C. ^DHU4K@*NO2NM:K'RIJ)H$L<41$PO1MIMJ@U
MA9A;X# H(2VX3*'R[8Y+@RPJ9J-8N..2,HA8XLZ-@IPM_@>P>J3@3GAY49#"
MB&5.9^G4YBS[7J5PZF6&+\HHA;&9/@L#E1JEG2OJ<?;X'UW,9?C?[?-G1JG<
M"&F@PRVY1N=%YH.>/XAY8-4P%>5[92DO)[.E/Q6UVT#K6Z7L8> ../[2FW\
M4$L#!!0    ( $.+!EG]-+"(V@,  )T3   9    >&PO=V]R:W-H965T<R]S
M:&5E=#,Y+GAM;+68;V_J-A3&OXJ55=.]4M?\H[1T@%2:7:W3D%#1W5Y<[86;
MG(!U$SO7=J!(^_"SG31 %TQ!Z1L2FSR_'#]V?&P/UXQ_%TL B5[RC(J1LY2R
MN'-=$2\AQ^**%4#5/RGC.9:JR!>N*#C@Q(CRS T\K^_FF%!G/#1U,SX>LE)F
MA,*,(U'F.>:;"61L/7)\Y[7BB2R64E>XXV&!%S '^;68<55R&TI"<J"",(HX
MI"/GWK^+_)X6F"?^(K 6._=(-^69L>^Z\)B,'$]'!!G$4B.PNJS@ ;),DU0<
M/VJHT[Q3"W?O7^E?3.-58YZQ@ >6_4T2N1PYMPY*(,5E)I_8^G>H&W2M>3'+
MA/E%Z_I9ST%Q*23+:[&*(">TNN*7VH@=01 <$ 2U('BO(*P%X1N!/S@@Z-4"
M8[5;-<7X$&&)QT/.UHCKIQ5-WQ@SC5HUGU#=[W/)U;]$Z>1X7O4W8BF:DP4E
M*8DQE>@^CEE)):$+-&,9B0D(] NZ3Q*B>PMGZ)%68T[WW:<()":9^(PN$*%H
M2K),58NA*U6 ^C5N7 <SJ8()#@03HBFC<BG0;S2!I$4?V?5]B]Y5QC3N!*_N
M3 (K\(^27J'0NT2!%_30UWF$/EU\;HGKX?V8T(*)3HDFPAMA:6+8#(#00,-#
M ^!(KW_[4PG0HX1<_-/6HQ6]UT[7L]:=*' ,(T=-2P+X"ISQSS_Y?>_7-AN[
MA$4=P?9<[36N]FST\7Q)BD+[B&F"F%P"1Y)C*@K&9?71Q$Q(@?Y%%VVF5O"!
M@>N9>S7VKORAN]KUZAW/1-8@S[3@NK'@VFK!E%"2ESGZ-H7\&7CKX+$23AT\
M7<*BCF![SO4;Y_H?^DGVNW2U2UC4$6S/U9O&U1OK>)QQM5CB<F,^2?A1DD(M
M7^0E B&)2F20H%) 6F8H(RFTV6K'AV@#F+<EO0>K\%0+SXABSZ[;QJY;*RF"
M%#A7KG!8 2U!76.FQJ69O)21A+4EZ(D5>NK8ZQ(6V9L;HMPL'2S.#1KG!E;4
MT_\-NT0%WNCAAB3PO'5E9&6>:ER7L*B"7>\DFM!K\LR>0[ZW775Z]N2 7XXF
M!SOB5$LZI45=T?;MVUFT^Q^:(6I\5]9V28NZHNU;&VRM#3XV31SA^][A1&&7
MGFSD.8'LN[;=1/C6U?2YV<)./7D<=KI].-)B__9XQO"WVP7?OE\X+V?8H2?;
MUR4MJFF[:6/P-FVX.^<6.?"%.?\1R,QGU2:]J6W.F.[-R<J;^HE_]U"=%&TQ
MU<'5%/,%H0)ED"JD=W6C N+565!5D*PPIR//3$J6F]LEX 2X?D#]GS(F7POZ
M!<V)W/@_4$L#!!0    ( $.+!EE"J),A[0,  +,1   9    >&PO=V]R:W-H
M965T<R]S:&5E=#0P+GAM;*U8VX[;-A#]%4)=%%D@6=WE2VT#ZXO<%$UAQ-WV
MH>@#UZ)M(1+IDI2=_GV'DE:QM;16;O1BB]2<,\,YPYM&)\:_B#TA$GU-$RK&
MQE[*P] TQ69/4BP>V(%0>+-E/,42FGQGB@,G.,I!:6(ZEA68*8ZI,1GE?2L^
M&;%,)C$E*XY$EJ:8_SLE"3N-#=MXZ?@<[_92=9B3T0'OR)K(I\.*0\NL6*(X
M)53$C").MF/CT1XN!\H^-_@C)B=Q]HS42)X9^Z(:'Z.Q8:F 2$(V4C%@^#N2
M&4D2101A_%-R&I5+!3Q_?F$/\['#6)ZQ(#.6_!E'<C\V^@:*R!9GB?S,3C^3
M<CR^XMNP1.2_Z%3:6@;:9$*RM 1#!&E,BW_\M<S#&0!X] "G!#AU@'<%X)8
MMRW *P%>6X!? ORV8PA*0-#60Z\$]'*QBNSFTLRQQ),19R?$E36PJ8=<WQP-
MBL145>):<G@; TY.?H-B_Y4)@5:$H_4><X(^H'51EHAMT8REATSBO&R@J3%_
M-R<2QXFX!^#3>H[>W=VC.V0BH=X*%%/T1&,IWI]U_+YGF< T@LZ[B_;(E# F
M%9FY*>.?%O$[5^)WT2=&Y5Z@!8U(I,&'S?B@ 6]"+JN$.B\)G3J-A+]D] &Y
MUGOD6(ZGB6?6#/^$.<#MJ_!Y>^^N!KYH[UT'#[]O[,O_'?R%%&Y5VV[.YU[A
M6V!.8[H[+]:_'I^%Y+#^_:TKM8+.T].I/6$H#GA#Q@8L^H+P(S$F/_Y@!]9/
M.IV[))MW2;;HDBSLDFS9$=E%M7A5M7A-[/E*^)%N6 I+FEKB[G454E $.87:
MY(^3#XYO0[$>SZ7767F^?VDUUUDY5LUJH;/J^_U+JU!CY0V"FM528^5;P;?H
M+_+F5WGS&_,VQ2+>H%.^YY,(X2/A<(1!D,@4]HQRT8<SD)"PPL-TU*6U\."?
M!69; [<6_JPQCEMGE,ZE5U=RT:7+4.>RYP8UD716KF?I10HJD8)&D59))E 4
M)YDZ^"&RW<))4.WG!R8)E3%.+O72:12\BLNJZ=,8PJWZO.ENT:6[\$UWRR:+
M"TUZE2:]1DWF2@Z8,=\W=7JMIDYC)+=*HW/Y>NITZ3+4N7P]=7165Z=.OY*I
M__;ZILM\ >N?KZ;6@U/?"QK);\V\WJ5=RWR7+D.M2Z^>>;W50)_Y097Y09L)
MHLO]H%7N&^EOS;W>93WW7;H,M2Y?Y5YO5<^]>79'3 G?Y==_ 6M-1F5QI*YZ
MJR\,C_G%NM8_M8<+6],?VL-E\0'A&WWQ.0-N%;N8"I20+;BR'GHP0WGQB:!H
M2';(;ZC/3,)]-W_<$QP1K@S@_9;!-E4VE(/J.\WD/U!+ P04    " !#BP99
M;">^.30#  ";#   &0   'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6S-5UMO
MTS 4_BM6D!!(L+1)VL)H(VU-$$.,52N7!\2#EYPVUAP[V$X[_CVVDX5V\ZH!
M>>"E\>5\W[GFY'2ZY>):%@ *W924R9E7*%4=^[[,"BBQ/.(5,'VSXJ+$2F_%
MVI>5 )Q;4$G]8# 8^R4FS(NG]FPAXBFO%24,%@+)NBRQ^'D*E&]GWM"[/;@D
MZT*9 S^>5G@-2U"?JX70.[]CR4D)3!+.D(#5S#L9'J<3(V\%OA#8RITU,IY<
M<7YM-F?YS!L8@X!"I@P#UH\-S(%20Z3-^-%R>IU* ]Q=W[*_M;YK7ZZPA#FG
M7TFNBIGWRD,YK'!-U27?OH/6GY'ARSB5]A=M6]F!A[):*EZV8&U!25CSQ#=M
M''8 FL<-"%I <!<0/0 (6T#X6 U1"X@>JV'4 JSK?N.[#5R"%8ZG@F^1,-*:
MS2QL]"U:QXLP4R=+)?0MT3@5?]2E^(%+B18@T++  M!+M&R*!O$56G %3!%,
MZ4^4$%J;M*(E9+4@BH!$SQ)0F%#Y7,.D@<O;!V'H4\%KB5DNI[[2MAJ-?M;:
M==K8%3Q@5XC..5.%1"G+(7?@D\/X\0&\KV/4!2JX#=1I<)#P?<V.4#AX@8)!
M$#GLF3\>'KK<^3?MZ5]KWPM&V%5-:/G"!_A.=$GDCFI(;S):ZWBCMX*7:,[+
MJE;8-H2+%4JQ8(2M=TOMVP=-C,X4E/*[JT8:*R*W%::%'LL*9S#S=(^4(#;@
MQ4^?#,>#-ZX$]4F6]$F6]D2VE\JH2V5TB#W622IU?G2CR:X1_*C)!E/]QK=O
ML2LI#=_(\IG/T"8.PE>3J;_9#;9#*!J&^T*)2RBZ(Y2ZU(U?=T)[3H\ZIT<'
MG5Y:;R\J4YKR!;H$J03)E"[<YD;W+%.E]C/,,FA.7;$XJ.9/"[1/LJ1/LK0G
MLKU<C;M<C?^+7C/N,Y5]DB5]DJ4]D>VE<M*E<M)SKYD\IM<XA.[W&I?0O5[C
M4G>OU_@[TU8)8FW'7(DR7C/5?$*[TVZ2/K$#Y)WST^'Q?.@X3_3DW0S*O^F;
ML?T<BS5A$E%8:56#HXDV532C<+-1O+*SWA57>G*TRT+_>P!A!/3]BNMYKMT8
M!=W_D?@74$L#!!0    ( $.+!EFLQ@^RV0(  .8(   9    >&PO=V]R:W-H
M965T<R]S:&5E=#0R+GAM;+U674_;,!3]*U<9FIC$R%>_Q-I(T Z-"21$87N8
M]N"FMXU%8A?;:>FT'S_;"5FZIF63JKTDMG//\3W'U['[*RX>98*HX#E+F1PX
MB5*+,]>5<8(9D:=\@4Q_F7&1$:6[8N[*A4 RM: L=0//Z[@9H<R)^G;L5D1]
MGJN4,KP5(/,L(V)]@2E?#1S?>1FXH_-$F0$WZB_(',>H'A:W0O?<BF5*,V22
M<@8"9P/GW#\;=DV\#?A"<25K;3!*)IP_FL[5=.!X)B%,,5:&@>C7$H>8IH9(
MI_%4<CK5E 98;[^P7UKM6LN$2!SR]"N=JF3@]!R8XHSDJ;KCJT]8ZFD;OIBG
MTCYA5<9Z#L2Y5#PKP3J#C++B39Y+'VH O[4#$)2 X&\!80D(K= B,RMK1!2)
M^H*O0)AHS68:UAN+UFHH,ZLX5D)_I1JGHB&1"1 V!=OX^)33)4F1*0GO8:Q+
M9IJG"'P&N^,F:QC3.:,S&A.FX(HM42J]SDJ'*IQSL8;C$2I"4_E.DSZ,1W!\
M] Z.@#*X3W@N-:OLNTJ+,2FY<9GX19%XL"/QSSD[A= [@< +6@WPX7[X"&,-
M]RT\W(2[VL+*QZ#R,;!\X3X?SYO\,8/CA L%]RBRFC\2OEUK%KA2F,GO30X4
M4[::IS3[^TPN2(P#1V]@B6*)3O3VC=_Q/C3Y<2"R#7?"RIUP'[MUITE@@>I8
ME/G?+*->Z'?Z[K*>^'90M]WSJZ"-A%I50JU7$[+E')L&UI:+5,NES'+1W\MU
M N>9'J<_4,.X5$V"BEG;=4&M+4';0=W>+D'M2E![KZ ;SG --T0\ZC__9:ZW
M%/R$:UQB"GY3HGO9_K6T#D2V(;Q3">_\_XW7.:0[!R+;<*=;N=-]O<YKY=TD
MMKNUOWS/^Z-DMV/"6DR1FEL[A<P-0!?CG#()*<XTRCOMZC(1Q:E:=!1?V(-I
MPI4^YFPST1<1%"9 ?Y]QKEXZYJRKKC;1+U!+ P04    " !#BP991Z2;IW("
M  !U!@  &0   'AL+W=O<FMS:&5E=',O<VAE970T,RYX;6RM56%/VS 0_2M6
M-DT@,9*F#6PLC03MT)@T"5&Q?9CVP4VNC85C%_O2PK_?V0E1*U(8TKXT/OO>
MNW>OSB7=:'-G2P!D#Y54=AR4B*NS,+1Y"16WQWH%BDX6VE0<*33+T*X,\,*#
M*AG&47025ERH($O]WK7)4EVC% JN#;-U57'S> %2;\;!('C:N!'+$MU&F*4K
MOH09X.WJVE 4=BR%J$!9H14SL!@'YX.S2>+R?<)/ 1N[M6:ND[G6=RZX*L9!
MY 2!A!P= Z?'&B8@I2,B&?<M9]"5=,#M]1/[I>^=>IES"Q,M?XD"RW'P*6 %
M+'@M\49OOD';CQ>8:VG]+]LTN:=4,:\MZJH%4UP)U3SY0^O#%F PV@.(6T#\
MKX!A"QCZ1AMEOJTI1YZE1F^8<=G$YA;>&X^F;H1R_^(,#9T*PF$VX;9D7!7,
M+[[>UV+-)2BT[."\*(2SFDMVI9K[0M$A.Y@"<B'M(?O(;F=3=O#^, V1M#C&
M,&_K7C1UXSUUO]?JF VC(Q9'\:@'/GD9/H6<X ,/'^["0W*@LR'N;(@]WW /
MWY5:@\7*-7[$IC!'[XFS Q_9#/+:D!5@V>_SN45#=^]/7\M-C5%_#?<^GMD5
MSV$<T MGP:PAR#Z\&YQ$7_H,^$]D.W8,.SN&+[%G-V2&$3E"P7*Z%WV]-@0G
MGL"-BG7V.8FB* W7VTV\EK6C;M2I&[U%'5U#6VJ##,%4?5(;MF1+Q"AZ+O6U
MK!VI22<U>:-4J=5RK]+DF5U)CZFO935*PZVAX ;R#VZ60EDF84&XZ/B4:$PS
MY)H ]<K/B;E&FCI^6=)W 8Q+H/.%UO@4N-'3?6FROU!+ P04    " !#BP99
M3GLHE1X#  " #   &0   'AL+W=O<FMS:&5E=',O<VAE970T-"YX;6RM5UUO
MVC 4_2M65DV=U#5QOH .(JU4U3JI4E7:[6':@R$7L)K$S':@_?>SDS0D)*2M
MX 5BYY[C<^Q[;6>X8?Q)+ $D>HZC1(R,I92K"],4LR7$1)RS%23JS9SQF$C5
MY M3K#B0, /%D6E;EF_&A"9&,,SZ[G@P9*F,: )W'(DTC@E_N82(;48&-EX[
M[NEB*76'&0Q79 $3D(^K.ZY:9LD2TA@205F".,Q'QG=\,<:.!F01ORAL1.49
M:2M3QIYTXR8<&996!!',I*8@ZF\-8X@BS:1T_"M(C7),#:P^O[)?9^:5F2D1
M,&;1;QK*Y<CH&RB$.4DC><\V/Z PY&F^&8M$]HLV1:QEH%DJ)(L+L%(0TR3_
M)\_%1%0 V-T#L N _5Z 4P"RF3-S99FM*R)),.1L@[B.5FSZ(9N;#*W<T$0O
MXT1R]98JG QNDC4DDO$7]!5-5(Z$:02(S=&VGR0A&C.U;HL$PK*?@CA#XY1S
MU4*G5R )C<071?(XN4*G)U_0":()>EBR5"@",32E$JN'-&>%L,M<F+U'V,\T
M.4>.=89LRW9;X.-N^!7,%!QG<*<.-]44E?-DE_-D9WS.&_.D?+=YR<%N.UB7
MXH58D1F,#%5K O@:C.#S)^Q;W]J<'8FLYM,I?3I=[,$#DR3:KGZ;UYS SPCT
M+K$.'.RJ)5I7/32#;-=RRJ":-K?4YG9JJZP!^G,+\13XWS:!G2P?78PCD=4,
M>Z5A[Y"D\X[I\TAD-9]^Z=/O7-A[LE%[F@1.2=3J-(=[E6QR^[V=C&O&^#YN
M3[A>J:O7J>N:)E1MK2%:,!:VZ>HUQK1];U=8,PCW7+M=6;]4UC^T3/N-85O*
MM!FTOTP'I;9!I[;M84'?6;"=?!]-Y".1U:QC:WN<6H>4;($^DM5CL=6]5JX.
M^+"R+?"UNO4&.RG8$N1Y_?84Q-OC&G>>DF^7;H&OE:5G]7?%-:.\P3YQVS,6
M'WS(XN8!B@?^[M;2%H4]?T>?6;D>ZKOY+>$+F@@4P5S!K/.>LL?SZV[>D&R5
MW1BG3*K[9_:X5)\(P'6 >C]G3+XV]"6T_.@(_@-02P,$%     @ 0XL&6493
M&)5; P  'Q$  !D   !X;"]W;W)K<VAE971S+W-H965T-#4N>&ULM9A;3]LP
M%,>_BI6AB4F,7"F%M9&@R32F(54PMH=I#Z8Y;2T2N]A."]]^=I*&!M)PF7EI
M$^?\?SX7Q^[I8,7XC9@#2'27I50,K;F4BV/;%I,Y9%CLLP50]63*>(:ENN4S
M6RPXX*009:GM.4[/SC"A5C@HQL8\'+!<IH3"F".19QGF]Z>0LM70<JWUP 69
MS:4>L,/! L_@$N358LS5G5U3$I(!%811Q&$ZM$[<X]AUM*"P^$5@)3:ND0[E
MFK$;?7.6#"U'>P0I3*1&8/6UA!&DJ28I/VXKJ%7/J86;UVOZUR)X%<PU%C!B
MZ6^2R/G0ZELH@2G.4WG!5M^@"NA \R8L%<4G6E6VCH4FN9 LJ\3*@XS0\AO?
M58G8$"A.N\"K!-YC0;!%X%<"_Z4S!)4@>.D,!Y6@"-TN8R\2%V&)PP%G*\2U
MM:+IBR+[A5KEBU"]4"XE5T^)TLEPS-6:X_(>89J@^#8G"[4*)/J,3I*$Z%+B
M%)W1<D'JPNY&(#%)Q2=E<G49H=V=3V@'$8I^SEDN%$0,;*G\TG1[4OEP6OK@
M;?'!1^>,RKE ,4T@:=%'W?I>A]Y6^:B3XJV3<NIU K_G=!_YSA[R'"]H\6?T
M<KG?%L[_S1Z_>?9&,OQZA?@%SW]NA8Q3K%;&26.=_/FAK-&9A$S\;2M\B0[:
MT7H3/!8+/(&AI78Y 7P)5OCQ@]MSOK1EW20L,@F+#<$:]0GJ^@1=]# "!9V0
M\O6$.W6""&@K14GI%11]?"Q#UW$&]G(SPT]MO,<V48M-/VC:Q$]M_,"K;1IA
M'M1A'G2&>4XHR?*L+;).X6L7F4E89!(6&X(ULM^KL]][OTV@9[(^)F&125AL
M"-:HSV%=G\/.MZ-QC,.Z,GL(A"3JY(8$Y0*F>8I2,FW=';KQ/KH'S-N.]E&G
M\+7U>*L7L2$O&KGOU[GO=^],^&[;SM0I?.W*-PF+3,)B0[!&]H_J[!^]W\YT
M9+(^)F&125AL"-:HC^L\=!C.^^Y-S_!=9_ONU"U];5'>[DALRI&R!O9&PY<!
MGQ6=MD 3EE-9_K*O1^MN_J3H81^-G[K'([=E/-+=?]%@/N#+OP[.,9\1*E *
M4S65LW^H?I;PLALO;R1;%.WF-9.J>2TNYX 3X-I /9\R)M<W>H+Z/Y'P'U!+
M P04    " !#BP99-P"311H$  "8%@  &0   'AL+W=O<FMS:&5E=',O<VAE
M970T-BYX;6RU6&&/FS@0_2L65YU::;M@$I+L7A*IS=ZJ>VJEJ&E['T[WP0N3
MQ"I@:IMD^^_/!A9P0MA+Y7Q)#,R\O!D>YF6F>\:_BRV 1$])G(J9LY4RNW5=
M$6XA(>*:99"J*VO&$R+5(=^X(N- HB(IB5W?\T9N0FCJS*?%N26?3UDN8YK"
MDB.1)PGA/]]#S/8S!SO/)S[3S5;J$^Y\FI$-K$!^S99<';DU2D032 5E*>*P
MGCGO\.W"'^B$(N(;A;UHK9$NY9&Q[_K@(9HYGF8$,8120Q#UM8,%Q+%&4CQ^
M5*!._9LZL;U^1K\OBE?%/!(!"Q;_32.YG3D3!T6P)GDL/[/]!Z@*"C1>R&)1
M?*)]%>LY*,R%9$F5K!@D-"V_R5/5B%8"'IY(\*L$__\F#*J$HG-NR:PHZXY(
M,I]RMD=<1RLTO2AZ4V2K:FBJ;^-*<G65JCPY7W*E""Y_(I)&Z,\?.<W4/9+H
M+5HIP41Y#(BMT8F@UW<@"8W%&Q7^=76'7K]Z@UXAFJ(O6Y8+%2NFKE0<]2^Y
M8<7G?<G'/\'GKSR]1@/O"OF>/^Q(7_2GWT&HTG&1/C#37=69NCU^W1Z_P!N\
MU)YE3%3%[XSZ__FHHM&#A$3\VU5I"3WLAM;/YZW(2 @S1SV  O@.G/GOO^&1
M]T=7W9; C"X,ZBX,^M!-D<!S_5=HPYGHO,<EW*B TQO);CX>XO'4W;4KZ@@*
M@B;(8#JLF0Y[F7X$(=36$.9)'A,)D7JB53]"2O2>T<6TA M:)-X&^.:0:E>4
M%WC=7(.::_!+74U!=C$-CCCXON\=$.T("KP3/1W5/$>]/#^1-%^K[3;G--T4
M9+^ D'I=/PI=?'M!SU6_)3"C_G%=__AR>\#89A<L@1E=F-1=F-C= R9'4@S:
M4BPKZ@@:C'&W7F]JIC<O[ 'JM;YE<80>DHRS'6BBG11[<<Z].9; C)*QU[S&
MO<N)M,*VU A;:&8G6H8&VQ5JA=<6X60X.1#J"T$FU\9=X-[7]GS!DBR7P$5!
M=L76<D\X=)*T:B9LH9EE-W8"#RXHUEZO<G8G+*&9G6CL"N[W*^>+]=B*!,&A
M"^@(FN 3NRIN[ KN]ROW.4^I<@%PA>[IDUZ(*_,?02?A7M"S;Y<E-+,%C1/"
MHPL*UZHCLH5F=J+Q1+C7;/R"<,='FASZAW;@A2"3:^-<<+]U^09;&L;03:LW
M]>R;8@G-++0Q/OCF@O*TZH9LH9G_VAL[Y/>:C//E6>&9^^J!.OMC3*:-7?'[
M[<J"I4+RO!QJT53/6D(XP;$7Z>R!@B4TL^[68.62DQ6[HY5+N"&_<4.^Y>F*
M?SPY&1Q:@(Z8X:%6W=;84,]L/Q&^H:E ,:Q5DG<]5DKGY1BT/) L*R:)CTQ*
MEA3++9 (N Y0U]>,R><#/9RLA]'S_P!02P,$%     @ 0XL&6<*6WXC&!
MV!D  !D   !X;"]W;W)K<VAE971S+W-H965T-#<N>&ULO5G;;MLX$/T50ELL
M$F ;B91U<=8VD#IHFT4+!$TO#\4^,#)M$Y%$E:3M9K]^J4LDTY+H.!#RDECV
MS.&9L7CF4)[L&'\0:T(D^)W$J9A::RFS2]L6T9HD6%RPC*3JDR7C"9;JDJ]L
MD7&"%T52$MO(<7P[P32U9I/BO5L^F["-C&E*;CD0FR3!_/$=B=EN:D'KZ8TO
M=+66^1OV;)+A%;DC\EMVR]657:,L:$)205D*.%E.K2MX.4?C/*&(^$[)3NR]
M!GDI]XP]Y!<WBZGEY(Q(3"*90V#U;TOF)(YS),7C5P5JU6OFB?NOG]#?%\6K
M8NZQ(',6_Z +N9Y:H0469(DWL?S"=A])59"7XT4L%L5?L*MB'0M$&R%94B4K
M!@E-R__X=]6(O00XZDE 50)Z;H););A%H26SHJQK+/%LPMD.\#Q:H>4OBMX4
MV:H:FN9?XYWDZE.J\N3L)I4X7='[F( K(8@4 *<+\(&QQ8[&,7@+[LKO%[ E
MN(I^;2@G"]!..KLF$M-8G*N,;W?7X.S-.7@#: J^KME&*$@QL:6BFR]J1Q6U
M=R4UU$/MGTUZ 5SG+X <-.I(GYO3KTFDTF&1[NKIMFI2W2E4=PH5>&X/7EW]
M>YI22< G=?MUM>+G)Y4(;B1)Q+]=19>KC+I7R7?MI<AP1*:6VI:"\"VQ9G_^
M 7WG[ZX6# 2F-<2M&^*:T&<?.!,"1)CS1YJN $[8)I5=%9<P?@&3R\IVID1F
M[$WL[7XIQZ(TCJ.:X\C(\2J*-LDFQE)]58H@E_0_G,M'%\T2R=LC %UW-#J@
MV1$%0Q]VT_1JFIZ1YE<F<=S%R6LUQ0\\>$"I'10B=]3-R*\9^49&GS%_4$.$
MD[)WM+[-.S>R$>O4>WH@,*WLH"X[>)5-'@S9D(' M(:$=4-"XWWPHYB#^>[9
M$J[FNK:+0$8X90MPIH3^D6 NSKMZ85[ *S.[ZGY!HE;CN*YQ/(R0C5L;#8;(
M.=B-1X(TAM!IQK0SF)!54+J2.8="UA4%W1Z]A7M^ KY,RJJ\_<9XT#\DU0[R
MPSY.S>2&QCDXFQ<^BO!2SE37Q)IFW8YDT.D\%)I>=C.?H?LJ8@:-/N#DI@R$
MIC>E,030[ @&$+0C*P3]BO:23+W.QE% LZ5XMJC!MGV ;A >RMK1,)UGXS.@
MV6B<)&Q^6[(<)6V'5-MAX7CL]C!MK $T#EJ#L@6MUKB^UV+5CAH%8=##JIG/
MT#P&K\E6G<4SU3U)HG7*8K:BW2;-#'3R-AX(32^[&=EP_#K:9K0&)S=E(#3]
M@-J8!&0V"0-HVY$5(.P7MQ>EZI4V+@.97<:SU0VU#<7(;8G;L2B=Y=X3 [/O
M.$7;*BA-VX+6(;DKRH=A#]'&*2#S4;Y7VE#'J=P+6ZPZH@(?];!J1C4RC\,Y
MVY(4IVH72P92EKZ-6)(123J)&J%.?JPR$)I>>#.[D?<ZCYJ,%N'DI@R$IC>E
M,0K(;!2&$#?S"LB@;2_(U.ML; 8RVXSG2UO;4$#8VIKF()UC8SJ0V72<)&QA
MQSFS1=,<I--L3 (R'^S[9:U]2&^-!%-(R<?>>^R>_^;Q&?,5306(R5+E.!>!
M*H>7/R.4%Y)EQ9/X>R;5>;1XN29X07@>H#Y?,B:?+O*'^_6/.;/_ 5!+ P04
M    " !#BP99-L&V5=T"   ,"0  &0   'AL+W=O<FMS:&5E=',O<VAE970T
M."YX;6RMEM%NFS 4AE_%8M642%TA$ CM$J0TZ;9.VE0U[78Q[<*!DV#5V)EM
MDFQ//QLH2Q-*JV@W8./S__[.,<8,-UP\R!1 H6U&F1Q9J5*K"]N6<0H9EF=\
M!4R/++C(L-)=L;3E2@!."E%&;==Q CO#A%G1L'AV(Z(ASQ4E#&X$DGF68?'[
M$BC?C*R>]?C@EBQ391[8T7"%ES #=;^Z$;IGURX)R8!)PAD2L!A9X][%)#3Q
M1< W ANYTT8FDSGG#Z9SG8PLQP !A5@9!ZQO:Y@ I<9(8_RJ/*UZ2B/<;3^Z
M?RARU[G,L80)I]])HM*1%5HH@07.J;KEFT]0Y>,;OYA365S1IHIU+!3G4O&L
M$FN"C+#RCK=5'78$O?XS K<2N*\5>)7 *Q(MR8JTIECA:"CX!@D3K=U,HZA-
MH=;9$&96<::$'B5:IZ)KIC!;DCD%-)82E$28)>@CY\F&4(K>H9E^;Y)<#_,%
MNI**Z,I!@L:,Y9BB<<:%(G]PL2(ZX-"M,P6%"95=;74_FZ+.21>=(,+07<IS
MJ>>20UOI/ R-'5?,ER6S^PSSYYR=(<\Y1:[C]AODDW;Y%&(M[Q5R[ZG<UM6K
M2^C6)70+/^^U)3Q%7_7VZUQM8YHGA"WK<G;1C_%<*J'?W9]-:9?S])OG,?OY
M0JYP#"-+;U@)8@U6]/9-+W#>-Q7A/YD]*8E7E\1K<X_,PJ". /,9,0609(LR
MSE0JNTUYEV9!868^.^NHUP_URJYW\VF=\<A\^G4^_9?R\9O 2Y6_ ^Z>^^$>
M>*OUD>!^#>Z_!!XT@?L'X+X_V.-N=3Z2.ZBY@Y>X!TW<P0&WYP=[W*W.1W(/
M:NY!*_=="OHL72@03?2# _J>=[Z/WSK!D?AAC1^VXW.%:1-Y>+!#@X'?VR,_
M# I=[]\V+HGLG;/*_"=\P6))F$04%EKFG UT>41Y]I8=Q5?%\37G2A^&13/5
MORL@3( >7W"N'COF1*Q_@**_4$L#!!0    ( $.+!EF*!"SB_@(  &P*   9
M    >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;*U646_:,!#^*U963:W4-2$)
M:<4@$A"V,:E3U:[;P[0'DQABU;$SVP&V7S_;"2G0-*4;+Q []WUW]_EROOZ*
M\0>1(B3!.B-4#*Q4RKQGVR).40;%!<L156_FC&=0JB5?V"+G""8&E!';=9S
MSB"F5M@W>S<\[+-"$DS1#0>BR#+(?X\08:N!U;$V&[=XD4J]88?]'"[0'9+W
M^0U7*[MF27"&J,", H[F VO8Z4T";6\,OF&T$EO/0&<R8^Q!+Z;)P')T0(B@
M6&H&J/Z6:(P(T40JC%\5IU6[U,#MYPW[!Y.[RF4&!1HS\ATG,AU85Q9(T!P6
M1-ZRU2=4Y=/5?#$CPOR"567K6" NA&19!5819)B6_W!=Z; %4#S- +<"N/L
M_QF 5P&\0SWX%< _U$.W IC4[3)W(UP$)0S[G*T U]:*33\8]0U:Z86IKI,[
MR=5;K' RG%()Z0+/" )#(9 4 -($?&0L66%"P#LP3!*LCQ02,*5E7>H#/HV0
MA)B(,V5R?Q>!TY,S< (P!5]35@C%(?JV5/%I+W9<Q3(J8W&?B<4#UXS*5( )
M35#2@(_:\4$+WE:ZU.*X&W%&;BOAYX)> ,\Y!Z[C^@WQC ^'>TWI_)_WR3][
MWQ'#JRO%,WS>H95R#KZH/G8Z6<>D2#!=U%5S!GX,9T)RU01^-E5!Z<=O]J,;
M8T_D,$8#2W4^@?@26>';-YW >=]T!,<DBXY)-CD2V<YA^?5A^6WLX3!C7.(_
MYEMM.H(2'1BTODJ6X:7C].WEMK('V$1/;3K^E;]K-&DTZM9&.PEVZP2[K0G6
M'0IG.<1<W5P2$*;JLK'OE%S=K0CVDWW1(FJ-Y[6U<22R'>F"6KJ@5;KIHV)L
MKEIV_5E#\UDWZ1<\.<%]_5ZTB%J#>JU^1R(K];.WKL\,\8696P2(64%EV1_K
MW7HT&IJ)8&]_U.F-.PW[D1JERLGGD;Z<PZXA7V J $%SY<JYN%2%P<O9IEQ(
MEIO+>\:D&@7,8ZK&0<2U@7H_9TQN%MI!/6"&?P%02P,$%     @ 0XL&69OT
M.:(; P  P0D  !D   !X;"]W;W)K<VAE971S+W-H965T-3 N>&ULK99K;]HP
M%(;_BI554RMMS0U"Z ")@K9UVJ4J;?=AV@>3'(C5Q,YL!^B_GYV$E!)#JVE?
MB)V<]_@YK_%EL&;\020 $FVRE(JAE4B97]BVB!+(L#AG.5#U9<%XAJ7J\J4M
M<@XX+D59:GN.$]@9)M0:#<IWUWPT8(5,"85KCD2199@_7D+*UD/+M;8O;L@R
MD?J%/1KD> DSD'?Y-5<]N\D2DPRH((PB#HNA-78O)JZC!67$/8&UV&DC7<J<
ML0?=N8J'EJ.)((5(ZA18/58P@335F13'GSJIU8RIA;OM;?:/9?&JF#D6,&'I
M3Q++9&B%%HIA@8M4WK#U9Z@+ZNI\$4M%^8O6=:QCH:@0DF6U6!%DA%9/O*F-
MV!&XG0,"KQ9XKQ7XM< O"ZW(RK*F6.+1@+,UXCI:9=.-TIM2K:HA5$_C3'+U
ME2B='(VCB!<0HZ\$STE*) &!,(W1#YD 1^_1K)I>Q!;H>.CI%"0FJ3A3HKO9
M%)V>G*$31"BZ35@A5)P8V%(!ZV'MJ(:[K."\ W!?"GJ.?.<=\ARO8Y!/CLNG
M$"FY6\K]YW);V=1XY35>>64^_Y^\VGW[:SP7DJN_Z&]3T=4H'?,H>MU>B!Q'
M,+34PA3 5V"-WKYQ ^>#R8+_E.R9(7YCB'\L>V,(;-2N(L XPU6&H,R@]Y35
MR'6[SL!>[19A"')\MPEZ!M=IX#I'X>['MRC'CWB>@HFK$G=WAMR':D?X?M_,
MU&V8NJ\RC-"(98 DWIA-Z[:'#O?HVB%NIVNF"QJZX#A=O,(T4GC*-K532X$6
MG&4H8K3\+ZMMAQ8+U2@X<!-UT*;>][0=XIB9>PUS[RCS9 N7/BT_$UOOQ>EN
M1[@],UO8L(5'V3XQ%@MT Q&HDRI&WYE$5W3%B++8A!BV ,+0WX-LQ[CA@5GO
M-Y3]HY35[A45G*LI?\G&OF'\8(^Q'>,Y!]:-ZSP=4\ZK5DZZM_<R36\\69S6
MGN)Y86^/U1#E]KU@C];>.5_UY>8;YDM"!4IAH63.>4\5RZO[0M61+"^/W#F3
MZ@ OFXFZ8P'7 >K[@C&Y[>A3O+FUC?X"4$L#!!0    ( $.+!EE-%]\#U ,
M '\3   9    >&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM;*U8:V_;-A3]*X0Z
M#"VP1D\[3F8;B"T5Z[!@08-N'XI^8*1K6ZA$JB3]R+\?2<F*E3"<U2H?8CWN
M.??RG"N1XG1/V3>^ 1#H4!:$SYR-$-6UZ_)T R7F%[0"(N^L*"NQD*=L[?**
M <XTJ"S<P//&;HESXLRG^MH=FT_I5A0Y@3N&^+8L,7M<0$'W,\=WCA<^Y>N-
M4!?<^;3":[@'\;FZ8_+,;5FRO 3"<TH0@]7,N?&O$S]0 !WQ3PY[?G*,U% >
M*/VF3CYF,\=3%4$!J5 46/[L8 E%H9AD'=\;4J?-J8"GQT?V#WKP<C /F,.2
M%O_FF=C,G(F#,ECA;2$^T?T?T QHI/A26G#]'^WKV-'(0>F6"UHV8%E!F9/Z
M%Q\:(4X 0?0*(&@ P3. _QH@; #AN1FB!A"="Q@U #UTMQZ[%B[& L^GC.X1
M4]&231UH]35:ZI43U2CW@LF[N<2)^5\@5>;H/;K)LEQ9APOTD=0-J(Q\&X/
M><'?R9#/]S%Z^\N[J2MD8@5WTR;)HDX2O)(D1+>4B U'"<D@,^!C.WYLP;MR
MP.VH@^.H%X&5\,\MN4"A]QL*O" RU+,\'QZ:AO-SV1,[/(94PGU3]HX88=L"
MH>:+;"V DD.5L]ISV4A@,ME*H]YHU[S"*<P<^<KBP';@S']]XX^]WTT*#TD6
MVP?8"J84&YD$'ZB8COQ1*W]DK>[O"I3N9(T*;02MM F"(C@((*;'96%E[.O$
MD&2Q?:PC] B8<9,% U71L6#46C#J9<%>3R^0(;R3-]: LIRG=$L$DF& 9'0*
M1)B,J?/XGDZD)NG=W+OP(OF4[TXEMY;35_+S<B;FL'#2AG6D&[?2C7]..@9J
MN?(4(("5)N7L:7S=."A"93T1!!'*\*.ID996HK[:#E55<A;1U9'(GQB(.OY<
MMOY<]O(GI=S8N#7+^*0YY%)3_CUKW//"8FM-/3U(!B+KR#=IY9M8Y;O?4";>
MJYZM]>/RI2S7Z-PX/TY>B..'+R5\&15<OE306E9?!0<BZRAXU2IX957P%A_R
M<ENB+[=0/@#[:A+.RM!W.AN2+!Z2+!F(K&.#[STM]+U>;P+=U'0EWPA$,/F]
M9ES6VRE?G\Z7=F1?&WZXCF2H.KJBGWQ=^?;NEU/?_W6_G:)O^P_*%@_*E@S%
MUC4C>#(C&/X)L%/6$[?1!RNPMP\_6$8R5!FUY.[)1D,);*UW>#C2:^/ZZ[N]
MVNXBW>B]DV?7%_[ULMX+>J*IMZ9N,5OGA$N+5I+2N[B4ZU96[_;4)X)6>COC
M@0I!2WVX 9P!4P'R_HI2<3Q1"=H]M_E_4$L#!!0    ( $.+!EGO+622.@,
M % +   9    >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;*V6;V_3,!#&OXH5
M)K1);/G7INUH([%-$R 0T\;@!>*%VUX;"\<.MK-N?'K.;A;:-,NFBC=MG/@Y
M/[^S<[GQ2JI?.@,PY#[G0D^\S)CBU/?U+(.<ZA-9@, G"ZER:G"HEKXN%-"Y
M$^7<CX(@\7/*A)>.W;TKE8YE:3@3<*6(+O.<JH<SX'(U\4+O\<8U6V;&WO#3
M<4&7< /FMKA2./+K*'.6@]!,"J)@,?'>A:?GH1.X&=\8K/3&-;$H4RE_V<&'
M^<0+K"/@,#,V!,6_.S@'SFTD]/&["NK5:UKAYO5C]$L'CS!3JN%<\N]L;K*)
M-_3('!:TY.9:KMY#!=2W\6:2:_=+5M7<P".S4AN95V)TD#.Q_J?W52(V!&'O
M"4%4":*7"N)*$#O0M3.'=4$-3<=*KHBRLS&:O7"Y<6JD8<)NXXU1^)2ASJ2?
M '.@R3&YP0,R+SD0N2"7I2D5D,],L+S,B9M#KN@#;I_1!)/_I0!%#1-+4ND/
M+\!0QO411KJ]N2"'!T?D@#!!OF:RU%3,]=@W:-<NZL\J:V=K:]$3UCZ6XH3$
MP1L2!5&O17[>+;^ &<I#)X^WY3XFJ<Y45&<J<O'B[DS]>#?51N'I^]E&M [1
M:P]A7\E37= 93#Q\YS2H._#2UZ_")'C;QO>?@FW1QC5MW!4]M3DGAPIL);#[
MK-D]R:4PF3YJXUX'2UPP6SGNTMX@'/MWFSB="^Z)TZMQ>L_A]-M\KU7]#=^#
M8;_ANS/RGK[[M>_^<[Z3-M_]'=]QTK#=&7A/VTEM.^FT_54:RFVY<O6CJ"I'
M&TBR Q)&HZB!TKG8GBB#&F70B?()M"8L+TH#<RQH!G )TT8RV"$YCD<-D,ZE
M]@09UB##YT%*@=]ZSOX@"Q8QH3EU'],EON5M3,-=IN;>="ZZ)]*H1AJ]X)AQ
M]WGBC$X99X9!ZSD;M9RS?K-"=:ZV)TL8_/L2!\]OD,ZD,L=XRO*7<54QM[9H
M.&R"5;.2K5G)OT*W[7BC=PB['4NQ;//ZT.HTW/$0#X*FT=U)R:#7\.EOM#NV
MU_Q,U9()C286J I.!I@-M6[?U@,C"]<!3:7!?LI=9MCR@K(3\/E"2O,XL$U5
MW42G?P%02P,$%     @ 0XL&6=N[P.+< @  %@D  !D   !X;"]W;W)K<VAE
M971S+W-H965T-3,N>&ULK59=;],P%/TK5AAHDR!?S3(H;:1V&6)(0]/*X 'Q
MX"8WK85C%]MIMW^/[:2A'5G84%\2?]QSKN^YMJ]'&RY^RB6 0G<E97+L+)5:
M#3U/9DLHL73Y"IB>*;@HL=)=L?#D2@#.+:BD7NC[L5=BPIQD9,>N13+BE:*$
MP;5 LBI++.ZG0/EF[ 3.=N"&+);*#'C):(47, -UN[H6NN>U+#DI@4G"&1)0
MC)U),$QC8V\-OA+8R)TV,I',.?]I.I?YV/'-@H!"I@P#UK\UG .EAD@OXU?#
MZ;0N#7"WO67_8&/7L<RQA'-.OY%<+<?.6P?E4."*JAN^^0A-/*>&+^-4VB_:
MU+9GH8.R2BI>-F"]@I*P^H_O&AUV )JG&Q V@/ A('H$,&@ @Z<"H@80667J
M4*P.*58X&0F^0<)8:S;3L&):M Z?,)/VF1)ZEFB<2BY9QDM 7_ =2/0&3?*<
MF'Q@BBY9O:E,=HY34)A0>:)-;F<I.CXZ04>(,'1%*-4&<N0IO1A#Z66-XVGM
M.'S$<8RN.%-+B2Y8#OD^WM-!M)&$VTBF82_AIXJY:."_1J$?1AWK.7\Z?- !
M3_OA*60:'G3!]Z(9M'D96+[!/_."4B(SRF4E 'V?S*42^JS\Z!*\9HRZ&<W]
M,90KG,'8T1>$!+$&)WGU(HC]]UUJ'9(L/1#9GI)1JV34QYY<% 78RT7O5ZNI
MTIH*K*!+PIHJ\"V7N3+7B>_Z83#RUKOB]'L\#MS8?WG2)40O\#^%.&V%..U=
MUJT[<U$!.0A]NJ7"JE)<W/?*41,&P9X<?ZG1Z_:Y6^5 9'L*Q:U"<:]"GW69
MU34#A(#<ZH*E!-5YN?42/?>L'9(LK<G>[:0LB-RX35DMC+=3,4H0"UMY)<IX
MQ51]Y;:C;7&?V)KV8'P:#,_K&OV'IGXQ7&&Q($PB"H6F]-TSG5E15^&ZH_C*
MUJ4Y5[K*V>92/UQ & ,]7W"NMAWCH'T*);\!4$L#!!0    ( $.+!EE8:P@(
M: ,  +8-   9    >&PO=V]R:W-H965T<R]S:&5E=#4T+GAM;*U7VV[;.!#]
M%4(M>@&<2+)\0VH+<"PM-HL&#>JV^[#8!T8:64(DTB4IN_W['5**UA=%B &]
MV+R=PYDSU' XWW/Q)%, 17X5.9,+*U5J>V/;,DJAH/*:;X'A3,)%015VQ<:6
M6P$T-J BMX>.,[$+FC'+GYNQ!^'/>:GRC,&#(+(L"BI^WT+.]PO+M9X'OF:;
M5.D!VY]OZ0;6H+YO'P3V[(8ES@I@,N.,"$@6UM*]"6=ZO5GP(X.]/&@3[<DC
MYT^Z<Q<O+$<;!#E$2C-0_-O!"O)<$Z$9/VM.J]E2 P_;S^Q_&-_1ET<J8<7S
MO[-8I0MK9I$8$EKFZBO?_PFU/V/-%_%<FE^RK]<Z%HE*J7A1@]&"(F/5/_U5
MZW  0)YVP+ &#$\!HQ< 7@WP7@L8U8#1:P'C&F!<MRO?C7 !5=2?"[XG0J]&
M-MTPZALTZI4Q?4[62N!LACCEKQ6/GE*>QR#D>Q+^+#/UFUR191QG.I T)W>L
M.HTZK!\"4#3+Y4=<\GT=D ]O/Y*W)&/D6\I+25DLY[9"JS2W'=46W%86#%^P
M8$+N.5.I)"&+(3[&V^A-X]+PV:7;82?A7R6[)IXS($-G.&JQ9_5ZN-<"#[KA
M]U0@W'UQ][ ;'D#4P+T.,;PFOI[A\U[@6^542O(E(2;0Y)_/.$_N%!3RW[90
M562C=C*=LV[DED:PL# I21 [L/QW;]R)\ZE-YS[)@C[)PI[(CB(R:B(RZF+W
M5[PH\%,R\1B0=4IQBP&YD[(\/?U52"JVL6'367_GN^YLA/> ,[=WAW)W;GNI
MW'V2A6TN.*YSZ,*1E.-&RG&GE ^"1P"Q)(G@!:'J2J5PA=?=$]ZO426S-,>>
M)PF(C&T&A.$43YH!7"95:]*J=IX<V.SAU7LB^?FBDZ $G0Y<JF-/9$=:3QJM
M)YU:+[_=8QJI5&L5K!-^:>KHDRSHDRSLB>PH!M,F!M,^D_FTSXCT21;T21;V
M1'84D5D3D=D%R?P'S4L8$/VI+'=8)]''' A63R:[4Q9!6Y1F9SG$G9[E]DXK
M+E7_?,?QV6T2]K1CI:I]4* 6(#;F92 Q^99,585=,]H\/I:FYCX9OW5O5M4;
MXG^:ZD6#==<F8Y+DD""E<SW%9"FJ5T+547QKRN!'KK"H-LT4'U8@] *<3SA7
MSQV]0?-4\_\#4$L#!!0    ( $.+!EGEEW0[Z 0  (47   9    >&PO=V]R
M:W-H965T<R]S:&5E=#4U+GAM;+58VV[C-A#]%4(%VBR01E??4MO QMEL$[38
M(-FV#T$?:&EL"9%(+TG92;^^(TJ6+%M6XT;[8MUF#N<,S\BC&6^X>)8A@"(O
M2<SDQ B56EV:IO1#2*B\X"M@^&3!14(57HJE*5<":*"=DMAT+*MO)C1BQG2L
M[]V+Z9BG*HX8W LBTR2AXO4*8KZ9&+:QO?$0+4.5W3"GXQ5=PB.H/U;W J_,
M$B6($F RXHP(6$R,C_;EM6-E#MKBSP@V<N><9%3FG#]G%[?!Q+"RB" &7V40
M% ]KF$$<9T@8Q[<"U"C7S!QWS[?H-YH\DIE3"3,>_Q4%*IP80X,$L*!IK![X
MYE<H"/4R/)_'4O^236%K&<1/I>))X8P1)!'+C_2E2,2.@^T><7 *!V??P3OB
MX!8.[EL=O,+!TYG)J>@\7%-%IV/!-T1DUHB6G>AD:F^D'[%LWQ^5P*<1^JGI
MH^+^<\CC (3\B7SZED;JE?Q,'E%?01H#X0LRXTF".Z0MR0-($&L("$J.W*0J
M%4!NI4PI\X&<78.B42P_(((,J0"Y/42,? UY*BD+Y-A4&'BVO.D70<[R()TC
M0=ZE[(*XUCEQ+,=K<+]N=[\&']UM[>[4W4U,5YDSI\R9H_'<(WBSF$I)OBR*
ME#S]AL_)K8)$_MW$+0?SFL&RNKZ4*^K#Q,#"U<DUIC_^8/>M7YJ8=@16X^V6
MO-TV]&DA!)FQ/B=B5PF+7 E1H82&R*_:L9_LQMSE3CWME+W"UE//&>$>KG=S
MTF!D#=W2J,;5*[EZK?'D6TLW5 12TT*B*%Z"KTZI\"1BRZ9X6T%/W>N.P&K\
M>R7_7I<:[W7)NR.P&N]^R;O_'37>CGU$X_T#^=J69^]I_-!H: ^:)3XHJ0[>
M('&^ROY_3]%X*^JI>]T16"T!PS(!PRXU/NR2=T=@-=ZCDO?H.VJ\'?N(QD<'
M\G6\X?Y[O,$(*Z%9Y+95-3A6:T0?4Q5R$?U3,%P*RI0D*<..AZ@0L"FP^^0^
MIJRQ+VG%/G73NT*K9V*GU;.[U'N!UA7WCM#JW*N6S6[MC-ZI^?\ 1]&?/SG-
M270.1-T?[>F^P<;SAD=T7S5K=GM']2;=?TI6,7\%*"1QGPH_Q*^HX_70NN;)
MFN@(K9ZAJL6SO4[KH=/FKBNT.O>JO;-;NZCWUD,[N*X'MSF)O0.M]W8:F2(W
M#4:>=:0@JL[.;F^_]@KB\WY!W+(@]2$!IH[+OW6%DR70$5H]'U7[9P\ZE7^G
M?5]7:'7N5>=GMS98[Y5_.[B6O]><Q.%AL[_SJ5KDIL%H<*P/RIJ^^A2CZHR<
M]LX(XR1G]@?R%<6OZ#P&0N=\#01>_#@-0)*>9Y];ED64 "I3\9KG:SO3H3*;
M#MVEJ)KM;$9_/EP#5M$<BZH8N;CD@IPY'\@71NXH2RGBY ^\<UUW+-76B$6K
M"JWF1K4>#6_X63!H,7\EGF?I^ KC52JR/5-$<>T%:Q!+ <#(2O!U)/5W#BY3
M0\38O/?'UO8_6H_9MK8QD_\7=-M22,;59&Y@+C2;GF:#G%RKEJL-H,9W..V'
MH4 DY;I[;\:+IA(T=V:0"5+0LUQ)?)XRE8^8RKOEO/A*CU4/[H\N9RCKAB>.
M=3G+1\QFM40^H/Z=BF6$F8IA@<M9%P.L'I'/?/,+Q5=Z"CKG2O%$GX9 \=V?
M&>#S!>=J>Y$M4$[>I_\"4$L#!!0    ( $.+!ED24X9HK0,  "L5   9
M>&PO=V]R:W-H965T<R]S:&5E=#4V+GAM;+6876_;-A2&_PJA 5L+M-&'9>=C
MMH#54K ,[68D:W<Q[(*6CB,AE.B25-STUY>4&-5"9-4&SFYL4>3[D#RO>"1R
MON/B0>8 BGPI62473J[4]LIU99I#2>49WT*E:S9<E%3IHKAWY58 S1I1R=S
M\V9N28O*B>;-O96(YKQ6K*A@)8BLRY**IW? ^&[A^,[SC=OB/E?FAAO-M_0>
M[D!]W*Z$+KD=)2M*J&3!*R)@LW!^\Z\2/S""IL6G G9R[YJ8J:PY?S"%FVSA
M>&9$P"!5!D'UWR,L@3%#TN/X;*%.UZ<1[E\_TZ^;R>O)K*F$)6?_%)G*%\Z%
M0S+8T)JI6[[['>R$IH:7<B:;7[*S;3V'I+54O+1B/8*RJ-I_^L4&8D_@AP<$
M@14$QPHF5C Y5A!:07BL8&H%S=3==NY-X&*J:#07?$>$::UIYJ*)?J/6\2HJ
M\Z#<*:%K"ZU3T9WBZ4/.609"_D*2SW6AGMZ2._T\9C4#PC=DR<M2.]HT)+<@
M03Q"1O0C2JYK50L@-U+6M$J!O%I1 97*014I9:_)JQ@4+9A\3=X2F>LZ.7>5
M'K/IV4WM^-ZUXPL.C.\/6IT1SW]# B\(!^3+'\AK+9]X!^7QN#R&5,O;WB<#
M\F1<?@UK/?AI(_?[<E?[U)D5=&8%#6]R@+=D5$KRU\::\>][74]N%)3ROZ'(
MMK!P&&8RT)7<TA06CDXQC:U.]/-/_LS[=2C.F+ 8$Y8@P7J.3#I')F/TZ&^=
MG&4MGH@TCKRQCSFABJ1<JB%31GFGFM+"I@W,O!(>HVGH>YXW=Q_WPWU<LP1I
M:+U AET@P]% !IX_L^F'W.AD4IGW!UDQ6@T%<91U:A Q83$F+$&"]0R9=H9,
M,7/-%-,13%B,"4N08#U'9ITCL]$E\F==KD&85S*M5<Y%\56_AVW"*:K49"+(
MAKR9O5C^8>B]6/[+T=Y/C3HF+$&"]:)^WD7]_(C$5&X9?P*PBV%5BS37T3Z8
MGT:1IZX&3%B,"4N08#U?+CI?+C#STP6F(YBP&!.6(,%ZCEQVCES^/_GI\D5^
M,A\G+_+3:.^G1AT3EB#!>E'WO>\[..\'&2KP]3=35J>@=_#J8%(:QYRZ!E!I
M,2HMP:+U#=G;4ON8J<G2L'S!I,6HM 2+UO?E^^[9']T*CB6H05]0]\^HM!B5
MEEC:?@:>]#-P&W%W[YS)'"-^H.*^J"1AL-%"[^Q<$T1[,M<6%-\V1T]KKA0O
MF\L<: ;"--#U&\[5<\&<9G7GH]$W4$L#!!0    ( $.+!EG;N[XUTP(  &<'
M   9    >&PO=V]R:W-H965T<R]S:&5E=#4W+GAM;*U544_;,!#^*U:&QI 8
M"4F;,=9&HH5M3.N$*&P/B <WN306B1U\3@O_?K:39BT-U33MI?'9]WW^[LZ]
M&RR%?, ,0)&G(N<X=#*ERE/7Q3B#@N*1*('KDU3(@BIMRKF+I02:6%"1N[[G
MA6Y!&7>B@=V[DM% 5"IG'*XDP:HHJ'P>02Z60^?866U<LWFFS(8;#4HZARFH
MV_)*:LMM61)6 $<F.)&0#IVSX]-Q:/RMPT\&2UQ;$Q/)3(@'8UPF0\<S@B"'
M6!D&JC\+&$.>&R(MX['A=-HK#7!]O6+_;&/7L<PHPECDOUBBLJ%SXI $4EKE
MZEHLOT(33]_PQ2)'^TN6C:_GD+A")8H&K!44C-=?^M3D80V@>;H!?@/P_Q80
M-(# !EHKLV&=4T6C@11+(HVW9C,+FQN+UM$P;JHX55*?,HU3T52)^"$3>0(2
M]\G%8\74,WE/IOJU)%4.1*1$94#&HB@I?]Y'<G8S(4ASP+H"QOW=.2C*<CS0
M0'-\-X%B!O)>F[?3<_)N[X!@1J6&,$YN,E$AY0D>DKT->^ J'8]1Y<:-]E&M
MW7]%>T F@JL,R05/(.G CW?CPQUX5^>Q3::_2N;(WTGXK>)')/ .B>_YO2X]
M_PS?D!.TM0TL7_!:;:L9LH3I/^<AF=*ZF+;>Y.Z[=B67"@J\[\I[S=OKYC6-
MY11+&L/0T9T#02[ B=Z^.0Z]3UU!_R>RC13TVA3T=K%'T^;=(5:=+V14P_L6
M;CK>(NI[_8&[6 ]@VR?T/[8^&[KZK:[^3EU?I$ DI10Q0/?3K_'AVJ5^&'@O
ME&T[!8'WBK2PE1;NE/9#CXZ5,$)3!5*_FQ0DXW,2"U2=:L-MM?WCDQ=JMYT"
M/6M>J'77>ED!<FY;/.J;*Z[JMM;NME/DS#9/]X][/8(F5,X91Y)#JJ'>T0>=
M+EFW]=I0HK2=<2:4[K-VF>E)"-(XZ/-4"+4RS 7M;(U^ U!+ P04    " !#
MBP99Z8I[R5$$  "3&0  &0   'AL+W=O<FMS:&5E=',O<VAE970U."YX;6S%
M65UOVS84_2N$5@PMT$8B]6$[LPW$EK9U6+$@7K>'80^T15M")-$E:3OY]R,E
M1;9D6D@6%GF))?K<0]Y[Z!-=:GR@[)XGA CPD&<%GUB)$-MKV^:KA.287]$M
M*>0W:\IR+.0MV]A\RPB.RZ \LY'C!':.T\*:CLNQ6S8=TYW(TH+<,L!W>8[9
MXXQD]#"QH/4T<)=N$J$&[.EXBS=D0<37[2V3=W;#$J<Y*7A*"\#(>F+=P.L(
M!BJ@1/R5D@,_N08JE26E]^KF<SRQ'+4BDI&54!18?NS)G&298I+K^%:36LV<
M*O#T^HG]YS)YF<P2<S*GV=]I+)*)-;1 3-9XEXD[>OB5U GYBF]%,U[^!8<:
MZUA@M>."YG6P7$&>%M4G?J@+<1(@>?0!J Y W0#O0H!;![C/G<&K [SGSN#7
M 67J=I5[6;@0"SP=,WH 3*$EF[HHJU]&RWJEA=HH"\'DMZF,$].%H*M[,).E
MCL&<YG+_<5PJ^ DLY*:,=QD!?ZS!15CTH*X)!^]#(G":\0\R\NLB!._??0#O
M0%J /Q.ZX[B(^=@6<L%J6GM5+VY6+0Y=6)P+OM!")!Q$14QB37S8'Q_TQ-NR
M4$VUT%.U9JB7\+==<05<YR- #O(TZYD_/]S5I?.ZV:/_/7NK&&ZS==R2S[VT
M=1+,R"?-GKAA#!<;(NU$@.4C.,7=XL=R^.: 60S^^5U2@L^"Y/Q?W>ZHYO?T
M\RL+O>9;O"(32WHD)VQ/K.F//\# ^4DGC4FRT"199(BL):+7B.CUL=<B+DMQ
MMK4X^*C?1T"J'[A.GHHY*)G5/Z3]%")G,+;WIV4_!XV"81L3GF,0\MTV*-+,
M-O)&#:B5O=]D[_=F/Z=< +H&&TIC#CC-="8SZ^5XZ38T21::)(L,D;6$"!HA
M@C?VDL"DB";)0I-DD2&REHB#1L3!=_.2BMD_^74'?L=)SB%HU#&2<PA$71\Y
MQWB>WD6&3=[#WKSO9"4Q6R5 /N7(A]2]?/K>JH1U>?8RO70;FB0+39)%ALA:
M<HP:.49O["4CDR*:) M-DD6&R%HB0N?8F#C?S4UJZM:/W'$Z?J(!H6$'%&I
M ]1Y?HDT(!\.]*8"3SHSV%\ G,F^2GF*;.'OB4B+C3;77I:7[D:C;*%1ML@4
M6UL/=-0#O;&OU LP):5)MM H6V2*K2WEL7.%O3W5Z[S%/7>$[J.*!@.AW[46
M#<CWN]9R#D*#X(*U')L^V-_U_4(*PG!6F@N.\[1(N6!8'=EI,^XE>_&V-,D6
M&F6+3+&U93EVH]!_:X<QVLL:90N-LD6FV-I2'OM9V-MIO<YA@K.CCB#HGJMH
M0/Y)(U.7]!P$D3?H>HP&!2'JF(Q]<LB<$[8I3_<Y6-%=(:I#PV:T>8-P4YZ;
M=\9G\'H.->.A>N-0'FH?Z:O7%5\PVZ0%!QE9RZF<JX'4EE5O *H;0;?E$?>2
M"D'S\C(A."9, >3W:TK%TXV:H'D/,_T/4$L#!!0    ( $.+!EGIC6RL%@4
M (09   9    >&PO=V]R:W-H965T<R]S:&5E=#4Y+GAM;+5977/B-A3]*QHW
MTTEF-M@2WRDP V3;;F>VFUF:[$.G#\*^@">V124!R;^O9!O;&".(F^0A6$;W
MZIQ[I:LC,=@Q_BQ6 !*]A$$DAM9*RO6=;0MW!2$5#;:&2'VS8#RD4C7YTA9K
M#M2+C<+ )H[3L4/J1]9H$+][X*,!V\C C^"!([$)0\I?)Q"PW=#"UO[%=W^Y
MDOJ%/1JLZ1)F(!_7#URU[,R+YX<0"9]%B,-B:(WQW92TM4'<X\F'G2@\(TUE
MSMBS;GSQAI:C$4$ KM0NJ/K8PA2"0'M2./Y-G5K9F-JP^+SW_FM,7I&94P%3
M%OSP/;D:6CT+>;"@FT!^9[O?(244 W19(.+_:)?V=2SD;H1D86JL$(1^E'S2
MES00!0-%M-J I ;D4H-F:M",B2;(8EKW5-+1@+,=XKJW\J8?XMC$UHJ-'^DT
MSB17W_K*3HYFDKG/:*("X:$I"]7L$#2.[RV:)9E%;(&^;:20-/+\:(D2BV_K
MN-=89\&7K^CZ'B3U W&C#!]G]^CZZ@9=(1N)%>4@D!^AQ\B7XE/AQ5\KMA'*
MJ7IY== >V%(QT_AL-V4Q25B0$RPZZ"N+Y$J@SY$'7H7]U&R/B<&!K4*:Q97L
MXSHA1H]_;*(&:CJ?$'%(JPJ0V?P>7&6.8_.F 4XS2W,S]M<\E68=]=LDS0_T
M5:U#B<:<TV@)\?/?X[F07*VI?ZJ"G_AN5?O6A>9.K*D+0TM5$@%\"];HYY]P
MQ_FEBO@[.3L(0RL+0\OD??3G)IP#US-:Q+.8Q;-83< )+/THTM-[3@,:N5 5
MAL1W._:MR^-V1+"CDKLMTC,"J$FOG=%KUZ/WF\JTK%P8D_81J9;3*W$RCEJ3
M4R?CU*G'Z?,+<-<7U:PZ1ZQNRZ2,P]8DU<U(=>N26OL</%MM40OP3Z2L>TR.
MD!([X_@UV?4R=KV:[)(=Q+#$>L=+K-4K<ZOH5%R'!YC[&>9^/<Q/(%0:D-J7
M$"0SCLZ#2NS](UBXT^R7L!M1U,P+=O+-WGD'EFLEL51#,K15KRMW8^>2/)G!
MU"5;4#;82/9'+.$TJRUP)4GW^0.TYKX+%Q;]=)!^,:U.XXBJ$4I=JB2G2OX?
M5<,&D+K&I,"PW7"Z989&!'49YOH%&W7!>8;&[2!UCIL%CLT&+E/\"&F"<VV"
MS>+D HH7; [I( ?I[#5(MU_\*Q/_"-&"<]6"S;+E//&S^T8ZPD&"^XVR-DM[
MG5S+A_ASA8+-$N4L_LOWD'2D@^QAW,!']>8CU O.Y0LVZY>W,;Y@/^D>):8B
M>Q^A:7 N:K!9U1QQYJ"O2?3$=-7941^>-C1 $GB(KM5Q]A4H%S>5;,T#=1)3
MU$)A<B8E+>31UZIC\?1"5V3O2AUTCUT=!B173-@LF>H%Y$VKP0R@G;BLC,M'
MZ"R2ZRQBUEE?%'T_$KZ+MC38P)'@RM9+90E/G7>*-:!\>C$#J$LPUU;$K*W&
MRR6')96 <JI/FFI6K">GBW7J^T IM]OE$I?V*D:A2?K5M9KD2HF8E9(!>"X'
M3=B)$54*_2.T$LFU$GFC5JJS,,\7[3,HWE+&S*[J!BQ77L2LO/))X9<6[O;B
M6I4.49P8G7991)MQU.69"RUB%EJS4@TZS#&BI\)0R;=]7*0J%O&[7AW9A7ON
M$/@ROOX7:E)O(IE<>6=OLY\8QO'%NIUW3WZ?^$JY6NT"!;!0IDZCJX#RY,H_
M:4BVCF_-YTQ*%L:/*Z ><-U!?;]@3.X;>H#LAY?1?U!+ P04    " !#BP99
M**XT>6T'  "2,@  &0   'AL+W=O<FMS:&5E=',O<VAE970V,"YX;6S%6VUO
MXC@0_BL6]Z)=:1>2\%+::Y':)J?;TU:+VNWMA]-]<!,#49.8M1UH3_?C;YP$
MDD P336K?@%B/(_M&7MF'MLY7W/Q*!>,*?(41XF\Z"R46I[U>M)?L)C*+E^R
M!/Z9<1%3!8]BWI-+P6B0"<51S[&L42^F8=*9G&=E4S$YYZF*PH1-!9%I'%/Q
M?,4BOK[HV)U-P6TX7RA=T)N<+^F<W3%UOYP*>.IM48(P9HD,>4($FUUT+NTS
MKV]I@:S&7R%;R\IOHH?RP/FC?O@47'0LW2,6,5]I" I?*W;-HD@C03^^%Z"=
M;9M:L/I[@_Y[-G@8S .5[)I'W\) +2XZXPX)V(RFD;KEZS]8,:"AQO-Y)+-/
MLL[KGIQVB)]*Q>-"&'H0ATG^39\*150$ *=9P"D$G%V!P0&!?B'0?ZG H! 8
M[ B,K0,"PT(@&WHO'WNF.)<J.CD7?$V$K@UH^D>F_4P:]!4F>J+<*0'_AB"G
M)G>*^X_D"E0=D&L>P_R3-+/@1W(9!*'^22/R*<FGI/[CG<L4#2/Y'JK<W[GD
MW<_OSWL*NJ(!>W[1[%7>K'.@V3ZYX8E:2.(E 0L:Y#VS_,@@WP,5;/7@;/1P
MY1@!_TR3+NE;'XAC.8.&_ER;Q6^H ''[H+C[<O%^DS9>W?F:,OK;2='/\/J'
M)L6""M8T*2Z%H,F<@:-0Y.J95.M-Z7-6?+FF(B!_?P9(\DFQ6/[3-#OR]@?-
M[6OG>":7U&<7'?!^DHD5ZTQ^_<D>6;\UF083S,4$\Y# :D8<;(TX,*$7*YLO
MM>$D63&IP$HT"0A[6H*7A@?%LV)"YW/!YE0Q$B9*A! $?+*B4<J:+)<W.LH:
MU5%H-;&'0PA+UGEO536*L7-MC8()YAT?04W?PZV^AT9]3P7W&0LDF0D>$YEI
M/Y0R!44'*6AU3I9,A+S)V5T9D=LNA^'>^$Y&>_9Q]VO9_9.]:AY2SVH:'6TU
M.C)JU(N7$7]FC.13>9H*?P&^ADPCFC1IT8C65HN88"XFF(<$5C/)R=8D)V\<
M&4XPC8@)YF*">4A@-2..MT8<&]?5E]F,51P2X3/"-DLM]UO+S5);'EAJQ@;:
M6@D3S,4$\\QZ')$X2T(-)CG=FN34"/4YC$,=DL$B/JP5H&C:*C1)4LB^?:[#
M\D.J%UJ3,7)HVZ[X<JOK[,1C8_MME8P)YAWI?DV?ME7R&LL<CFN:#$+I\Q2<
MD$Z 9C04>8*C_\HSI$8*8VRA[2Q'17-1T;P";<<&]O" $2KDTOYA.5$!7<U0
M=G-,<^NM58J)YC5TW[:L@UFF[90Z=5Z=%1&IXZYL5*<1M?5DQD1S4=&\ FU8
MT;SCC(>'/$I)BFTC73,K_C]R0Y_".(T;=8]*=U'17%0T#PNM;J*2\MJ#-TY/
M;4PJ>HV*YJ*B>5AH=5.6;-H^0J>W*:@(?;:3&,54/#)5QG"?QY"*Y0&FT6JH
M!!L5S45%\PJTG4@^/A3)2RINM^+B7PXG3:@L'!7-147SL-#J%BF9N/W65-Q&
MY>*H:"XJFH>%5C=ER<=M,Y'\EAUGZ>W9%1/:Q<W!@NICH+=DF\B*S"LT'IQ<
MF=MJ;354<HZ*YA5HXVJBUQT?RO-**FZ;N?@/VC@O6JVFI?:HS@@*E:-2=50T
MKT ;&091/WXK^;ICYNM?N:(121/!?#Y/PG]!S7[5J_E<J@^;':L9%Z2H>"@.
MF9MKNPQ0T5Q4-.^(8AWRS*B0Y 6[54Y)[!TSL7^)M1JM8N]SLT'3(C"WWUKA
MJ-3>V:?VNX.HJ[7D]HZ9V]^"5X%T5_N8W O=PP0G[V[O[AO/V,UHK><X*J='
M1?.PT.IV*:F_\]8'X@[J%@$JFHN*YF&AU4U9;A$XYF/QO5Q+,'V?2N]%9OOL
MU%=ZSUTQT;B58T9O;2=4_H^*YAW1XR:LG!9AA=AC$M!G8W@IR;]C)O^O#B_#
MO? R<!K#"RJ%1T7SG/VC^=U!U-5:DGC'3.*G3&3WN!)_<]"79O%E>BB^H')Y
M5#07%<W#0JL;IN3RSEMS>0>5RZ.BN:AH'A9:W90EEW=:<OF6\065O:.BN:AH
MWA$]MHDK);5WS-3^U7&E@?9:H]/^;E1!9>ZH:-[1(=1OBI:\O6^FERZ3O@BS
MS1*]0;5L##&-5T!1"3HJFHN*YAW1X!W(ZR,.*LF:19'^+LXW]*935:'@0/(K
MV9($3'L0[?/5@I$DC1^8T/J'4"ZAB*JL?,&C ,K7(<!"MI;DY_#6+WH'RQ["
M-TCH>HJ*.;17PN3GR%WR=5$[>H%UP\(5K)I09M?S P)6UP Z:-'DN7804YS<
MY-B2</"'A$)MP=A'G3L260P\W]3I5BZ<1\\?:K!QJG?;_$7(5HQP0=B3OE9
M3H;;$62 ,*ILSU1 M23=#BMF5*9"N^1<*RP)-F+?4RI D21,R'H1^HNLL-IO
M/=*BX:#;Y(-ZE;OW,0,1_=*#)-EMD_SZ^;9T^V+%9?8ZP4[YE7WFYJ]'E##Y
MVQHWT),0;!ZQ&4!:W1-($$7^ D3^H/@RN^'_P)7B<?9SP2A87E> _V><J\V#
M;F#[&LKD?U!+ P04    " !#BP99R-M7E2P$  ![$P  &0   'AL+W=O<FMS
M:&5E=',O<VAE970V,2YX;6S%F&UOVS80Q[\*H0U#"K262-NRG=D&[+3;6JR8
M$2_MBV$O&.ML"Y%$EZ3L!MB'+TG)D@8]6-%<[$TD4KR[W_%(_F-.3XP_B3V
M1%_#(!(S:R_EX=:VQ68/(14]=H!(?=DR'E*IFGQGBP,'ZAFC,+")X[AV2/W(
MFD]-WXK/IRR6@1_!BB,1AR'ESTL(V&EF8>O<<>_O]E)WV//I@>Y@#?+AL.*J
M96=>/#^$2/@L0ARV,VN!;Y?$U09FQ"<?3J+PCG0JCXP]Z<9[;V8YF@@"V$CM
M@JK'$>X@"+0GQ?$E=6IE,;5A\?WL_1>3O$KFD0JX8\%GWY/[F36VD =;&@?R
MGIU^@S2AH?:W88$P?]$I'>M8:!,+R<+46!&$?I0\Z==T(@H&?5)C0%(#8KB3
M0(;R+95T/N7LA+@>K;SI%Y.JL59P?J2KLI9<??65G9RO)=L\H:7*RT-W+%3%
M%M1,UQNT3@J%V!;]$4LA:>3YT0[=@Y#<WTAED!@_1+Y$"SV[OGQ&-V]!4C\0
MKY#84PX"^1'Z<\]BH<S%U):*64>V-RG?,N$C-7PN^L@BN1?H7>2!]V][6^6:
M)4S."2])H\,/<=1#?><U(@X9H!^1?>9,'@T1^MF4]DV$04V$Z@FZN5\_O*K*
MO]&9WI2WXD W,+/4KA/ CV#-?_H!N\[/#:B##'5@O/?KJJ]SKJK^@G,:[4!M
M/XF6SZ@X;D6?3??B1+F'_OI=N43O)83B[ZKL!M\ANV&6W;!M(80I1*P*(5ZC
M)>S\*-)K^9$&--H ^J>R^DD&28RAB:'/N.-\Y+A3^U@!YF9@;B>P7]6D2]%(
MXY9H!N-!-<THHQEUHOFD^E6?VK?J^ W %+\);51">X,G-3,USMC&G=C4B;P%
M7UX@&I>)W)K)FF1 DTY [Y+#L<V"FI2H)GVGF@H[^3'N-')]-O*CRW4$KN04
M[?1:0AZ5@+;4Y^A(@QBJUWY^"%:>STG@<8'7[4U&-< %W<%7 <[VQ 7*5.9(
M 7/8PS75QB3')%?!K-XL%YA)F7G4&_=KF'/]P<T"U):YN(DND/:K9G=4MPAR
M^<&-YW]KTM+NNH [*"W986]":FAS.<'->K(";OX-U@CYYD<WJQIE;W;74?QP
M+C+8_9_%'3?*7-<$<]W"W83K9?J.R[J%<=UYG.L6[B9<+20>EV6K#B=7+=Q-
MMEZJ\;@L7C5L))<NTBQ=_TWC4^=MB')M(LW:= 613R.T6E4D5R-R'35ZN<JG
M@8M')NZ-)C7 N121ZTA12Y5/H[4I=JY!Y#H:U$7AT]!M>',5(LTJ='UU)^6?
M.'64N?B0YI\XWTG9TZ@7EJE=N \)@>_,K8] &Q9',KD:R7JSFZ5%<I^2#T^N
MI3Y2KK:20 %LE:G3&ZE9XLE-3]*0[&!N5QZ9E"PTKWN@'G ]0'W?,B;/#1T@
MNV^;?P-02P,$%     @ 0XL&62&*Z,P, P  -@D  !D   !X;"]W;W)K<VAE
M971S+W-H965T-C(N>&ULK59=;]HP%/TK5C9MK;0U(01:&$3B:UNG54(PMH=I
M#R:Y$*N)S6P#Y=_OV@D9A1156U\@=LXY]\,W][JS%?)>)0":/&0I5UTGT7K5
M=ET5)9!1=256P/'-0LB,:ES*I:M6$FAL25GJ^I[7=#/*N!-V[-Y8AAVQUBGC
M,)9$K;.,RET?4K'M.C5GOS%ART2;#3?LK.@2IJ!GJ['$E5NJQ"P#KIC@1,*B
MZ_1J[5'#X"W@.X.M.G@F)I*Y$/=F<1MW'<\X!"E$VBA0_-O  -+4"*$;OPM-
MIS1IB(?/>_6/-G:,94X5#$3Z@\4ZZ3HW#HEA0=>IGHCM9RCBL0Y&(E7VEVP+
MK.>0:*VTR HR>I QGO_3AR(/!P34J2;X!<$_)@1/$.H%H?Y<"T%!")YKH5$0
M;.AN'KM-W)!J&G:DV!)IT*AF'FSV+1OSQ;BIDZF6^)8A3X=3+:)[TL=4QV0@
M,BP_1>T)OK=+RG=O%5$)E?!>@=8IPL0\9<L<-)G.R%)2KA6Y&(*F+%67R)R
MTI)%&L&Y_HPS32X0;=[.ID-R\?HR5U6$<?(M$6M%>:PZKL:8C&=N5/C?S_WW
MG_"_3NX$UXDB(QY#7,$?GN<WS_!=S&694'^?T+Y_5O#+FE^1NO>.^)X?5/@S
M>#Z]7A7._UD?_;/U1\FHE]55MWKUIZK+%DY%=?4D5LT2L.%H,M^10]R8[NQV
M;TME3'Y^14ERJR%3OZJJ([<?5-LW3;:M5C2"KH-=5('<@!.^>55K>A^JCN8E
MQ88O*39Z(;%'AQB4AQB<4P\_F0^<Q%0#65 FR8:F:Z@ZBURF:67,?-J$UU[+
M\SKNYC#)IZ@CQ/ 446LU@F.AT2FL%;3\ ]BC:!MEM(VST9J65G0FV]FP(K$S
MD0VVM,K^TL_E&H?>!D<AGT*.0SY%!(VC<"OLW%P?Q>H>#((,Y-).8$4BL>8Z
M_VK+W7+(]^QL.]KOU]J#6L7^$"\%^0S_*Y_?*.ZH7#*N2 H+-.5=7:.G,I_2
M^4*+E1U#<Z%QJ-G'!"\V( T WR^$T/N%,5!>E<(_4$L#!!0    ( $.+!EE#
M>#L9; (  /L%   9    >&PO=V]R:W-H965T<R]S:&5E=#8S+GAM;*U476_3
M,!3]*U:8T"9!DR:EP$@C=2T314R:5HT](!Z\Y+:QYH]@.^WV[[EVTE @"R^\
MQ%_W')][G7O2O=(/I@2PY%%P:69!:6UU'H8F+T%0,U(52#S9*"VHQ:7>AJ;2
M0 L/$CR,HV@:"LIDD*5^[UIGJ:HM9Q*N-3&U$%0_70!7^UDP#@X;-VQ;6K<1
M9FE%M[ &>UM=:UR%'4O!!$C#E"0:-K-@/CY?3%R\#_C*8&^.YL1E<J_4@UNL
MBED0.4' (;>.@>*P@P5P[HA0QH^6,^BN=,#C^8']TN>.N=Q3 PO%[UAARUGP
M+B %;&C-[8W:?X(VGS>.+U?<^"_9M[%10/+:6"5:,"H03#8C?6SK< 1 GGY
MW +B/P'39P!)"TA\HHTRG]:26IJE6NV)=M'(YB:^-AZ-V3#I7G%M-9XRQ-EL
MH81@%I_%&D)E019*6B:W(',&AKPF\Z)@KMZ4DY5L?AI7_=,E6,JX.<.0V_62
MG)Z<D1/")+EBG&. 24.+ZMP=8=XJN6B4Q,\HF9(KO+LTY*,LH.C!+X;QXWB
M(,2R=+6)#[6YB <9/]=R1)+H%8FC>-(G:!B^A!SA8P]/!N0DW5,EGB_YYU.1
M^5\O]>T+1I.5!6&^]]6^H9[T4SNK.#<5S6$6H!<8T#L(LI<OQM/H0U_>_XGL
MMRI,NBI,AMBS.ZHUE?8)#2#7-?Z6\(B.9J OZ8;IO6=R=K;+HM$X#7?'N0S'
M-!+#H_X2H+?>=@S)52UMTVK=;N=L<]_0X:_PQA:OJ-XR:0B'#4*CT5OT!=U8
M3;.PJO+=>J\L]KZ?ENC.H%T GF^4LH>%NZ#S^^PG4$L#!!0    ( $.+!EG
MG>*JS@(  +T'   9    >&PO=V]R:W-H965T<R]S:&5E=#8T+GAM;*U5;6_3
M,!#^*U:8T":Q)4W?T$@C]04$2!/5RN #XH.;7!MKCEULI^W^/6<GS=HMRR3$
ME_CMGL?/W3EWT4ZJ>YT!&++/N= C+S-F<^W[.LD@I_I*;D#@R4JJG!I<JK6O
M-PIHZD Y]\,@&/@Y9<*+([<W5W$D"\.9@+DBNLASJAXFP.5NY'6\P\8M6V?&
M;OAQM*%K6("YV\P5KOR:)64Y",VD( I6(V_<N9X.K;TS^,%@IX_FQ'JRE/+>
M+KZD(R^P@H!#8BP#Q6$+4^#<$J&,/Q6G5U]I@<?S _LGYSOZLJ0:II+_9*G)
M1MY[CZ2PH@4WMW+W&2I_^I8OD5R[+]E5MH%'DD(;F5=@5) S48YT7\7A"( \
MS8"P H1/ ;T7 -T*T'6.ELJ<6S-J:!PIN2/*6B.;G;C8.#1ZPX3-XL(H/&6(
M,_%4YCDSF!:C"14IF4IAF%B#2!AH<DD6^&S2@@.1*\(973+.S .F+Y$JA10G
MG!H<C20:MJ"H2,#QP)X9DDB-M.<S,)1Q?8%T=XL9.3^[(&>$"?(]DX5&8QWY
M!EVQ@ORDDCTI98<OR.Z2&Q2::?)1H(Q3O(\AJ.,0'N(P"5L)OQ;BBG2#=R0,
MPEZ#GFD[_(8JA'>:X"=RNG5:NHZO^T]IF3&=<*D+!>37>*F-PI_A=U,0RTMZ
MS9?8 G&M-S2!D8<50(/:@A>_?=,9!!^:(O"?R$[BT:OCT6MCC[]AU4+_R81R
M^\2:?"T)!H[ UJYM'$3^]MB!YQ;]1Y,36?U:5K]5UCA)5%$^?]BC1-VHK.3H
MMRAKLS@1-JB%#5J%S>F#>SQ-<@:ORGEN<?E2I(:UH&&KH"F^UU<2.'PU@6T6
MI2K_J!+FH-:N06@L1(4P93&H=^L>-':E]\G^!'M3V4H>:<K&AK_ZF@E-.*R0
M,K@:8IQ4V2S*A9$;5V^7TF#U=M,,^RLH:X#G*RG-86$OJ#MV_!=02P,$%
M  @ 0XL&69E^*AA\ @  50<  !D   !X;"]W;W)K<VAE971S+W-H965T-C4N
M>&ULM95M;]HP$,>_BI5)TR9M) 0*J N1@&X:U3I5= \OIKTPR4&\.G9F.]!]
M^YV=X%&)1M74OHF?[O[^G2\^)WNI;G4!8,A=R86>!H4QU7D8ZJR DNJ>K$#@
MRD:JDAH<JFVH*P4T=TXE#^,H&H4E92)($S=WK=)$UH8S =>*Z+HLJ?HS!R[W
MTZ ?'"96;%L8.Q&F246W< /F:W6M<!1ZE9R5(#23@BC83(-9_WP^L?;.X!N#
MO3[J$QO)6LI;.UCFTR"R0, A,U:!8K.#!7!NA1#C=ZL9^"VMXW'_H/[!Q8ZQ
MK*F&A>3?66Z*:3 )2 X;6G.SDON/T,9S9O4RR;7[DGUK&P4DJ[619>N,!"43
M34OOVG,X<D"=TPYQZQ [[F8C1WE!#4T3)?=$66M4LQT7JO-&."9L4FZ,PE6&
M?B9=2)&!,(JZ,WI+9GG.;)=RLA1-SNW"JPLPE'']&DT6C@H4N>^[8OH65Z_H
M+ZF\C4Y"@Y1VKS!KB>8-4?P T8A<26$*3=Z+'/+[_B%&YT.,#R'.XT[!RUKT
MR"!Z0^(H'G;H#?R1#9S>\ &]SWA55K #4<.IZ#J=[1T[UQ7-8!K@)=*@=A"D
M+U_T1]&[#K2A1QLZ]<&CLNDR\N,3VI"E@5+_/(4[? ;<,X][UGF2]W&5Q:U
MV2FL!Z=@&[E^\S/;>K-+HUX_"7<G($8>8M0)\471',@LRV0MC,;,9L!V=,U/
M G1*_>=IC3WH^*F3.WX&W(G'G3QM<B>/26YX5.JPOFQ=0=?$):^I>G[6OQFS
MIE3^,V\>G"NJMDQHPF&#KE%OC'^7:HIX,S"R<H5S+0T6,]<M\-T#90UP?2.E
M.0SL!OXE3?\"4$L#!!0    ( $.+!ED*I!BO\@,  "8;   9    >&PO=V]R
M:W-H965T<R]S:&5E=#8V+GAM;*V9;6^K-AB&_XK%I&F3MO(20MHLB=0$T#G3
MSE2E>_DP[8,+3Q)4P)GM)&?2?OQLH"0@E[X]_=""\7W9/#>Y2^S9B?%'L0.0
MY&N1EV)N[:3<3VU;)#LHJ+AB>RC5E0WC!97JE&]ML>= TTI4Y+;G.(%=T*RT
M%K.J[8XO9NP@\ZR$.T[$H2@H_W<).3O-+==Z:EAGVYW4#?9BMJ=;N ?Y^_Z.
MJS.[I:19 :7(6$DX;.;6K3N-75\+JAY_9' 2%\=$W\H#8X_ZY',ZMQP](\@A
MD1I!U9\CK"#/-4G-XY\&:K5C:N'E\1,]KFY>W<P#%;!B^9]9*G=SZ]HB*6SH
M(9=K=OH$S0V--2]AN:A^DU/3U[%(<A"2%8U8S:#(ROHO_=H4XD*@.&:!UPB\
MOL!_1C!J!*/7CN W O^U(XP;P;@O")X1!(T@J&I?%ZNJ=$@E7<PX.Q&N>RN:
M/JCLJM2JP%FIGZQ[R=753.GD8L7*!$K):>7SC^1>/;KI(0?"-J1[337<TQP$
MH65*;I.$'4HIR!H2R([T02F^"T'2+!??*\RJFCGP'F.=B<>9+=6\]>AVTLQQ
M6<_1>V:.(_*%E7(G2%2FD!KTX; ^>$D?#^M=;P!@JX*W5?>>JK[T!HD_'\HK
M,G)^()[C^88)K5XO'YGJ\;'1HX^-'@_+0TB4W#7).[4<M4_PJ.+YS_!^5?&[
MAB.4!R#_G1^\6]-S-DC2(3X5>YK W%(I+8 ?P5I\^XT;.#^9/,*$A9BP"!,6
M(\$ZWOJMMWY%'[TJG71ZD+]^47W(9PF%^-MDL8]I,28LQ(1%F+ 8"=:Q>-Q:
M/![\^'8MYMKB/7#=I%YL3 ;7.+?^AZ9?G(X+YTKGV/'2.6,OYZ;;*S2SNITB
M8R>WURL>O,MWUC!H:QB\)P*7IO(-DM[Z^<"$A9BP"!,6(\$ZWDY:;R?8$3C!
MM!@3%F+"(DQ8C 3K6'S=6GR-&X'7QD0*>A%H[.7T>H5FUJ27@6;6Q.G\N+U(
M'+SK=];TIJWIS6!-?^,T!>/7E)?>$0>Y;_WT8,)"3%B$"8N18!VG7>?\%=;!
MCLB&B.0R*BU$I46HM!B+UG7Z8K'"Q4W*8=Z;?<:DA0VM__;9CU[406/SH!=Y
MWW7&.SOC?3QOC2^DP^ W6X1)"U%I$2HMQJ)U#3^ONK@C]-!%77Y!I86HM B5
M%F/1NDZ?UV#<P>__[PA=U#485%K8T/KYY_=#%W5]Y<5!:V?LBV5\%9?;:L-%
MD"I2Z_70MK7=U+FMMC)Z[4MWNG(-[:$[C>HMFS.^WD'Z0ODV*P7)8:.&<JXF
M8TLY76W*U">2[:M-A <F5997ASM0D<]U!W5]PYA\.M$#M%MCB_\!4$L#!!0
M   ( $.+!EE":8V'40,  *0-   9    >&PO=V]R:W-H965T<R]S:&5E=#8W
M+GAM;,57:V^C.!3]*Q8S6K526QYYMIL@9=+,8]6.HG9F]\-J/KAP"=: S=@F
M:?_]7CN4A@Y%6PFI7Q(,]QS./3Z@RVPGY$^5 FARGV=<S9U4Z^+"=5640D[5
MF2B XY5$R)QJ7,J-JPH)-+:@/',#SQN[.67<"6?VW%J&,U'JC'%82Z+*/*?R
MX0-D8C=W?.?QQ W;I-J<<,-903=P"_I[L9:X<FN6F.7 %1.<2$CFSL*_6/J!
M =B*OQGLU,$Q,:W<"?'3++[$<\<SBB"#2!L*BG];6$*6&2;4\:LB=>I[&N#A
M\2/[1]L\-G-'%2Q%]@^+=3IWI@Z)(:%EIF_$[C-4#8T,7R0R97_)KJKU'!*5
M2HN\ J."G/']/[VOC#@ ^,,7 $$%"/XO8% !!K;1O3+;UB75-)Q)L2/25".;
M.;#>6#1VP[C9QELM\2I#G Z7@D? M:36U%-RBSF)RPR(2$CS&I[XR.XA)@NE
M0"MR]T ^@=A(6J0LHAFY@0V6*7)T"9JR3!TCV_?;2W+T_IB\)XR3;ZDH%>6Q
MFKD:E9O[NU&E\L->9?""RK]*?D8&W@D)O&#8 E]VPR\A0KAOX8,FW$6_:M."
MVK3 \@U>X+N!+? 2%$FDR,GJ7H/DZ,#2;A=(1;!+<B7XYO0*,UH[]N\5\I O
M&G+UH\V#_4V'[3<US_.%*F@$<P<?6 5R"T[XQSM_[/W9YDA/9 U_!K4_@R[V
M<"WQ-2/U@_4!?I6LP =?GQ .NJWO/=G8DIG7SC8,@L";N=O#?EJ*1MZD+FKH
M'-8ZAYTZOPJI4[+ +<,$MRGKA+]V1WHB:W0ZJCL=O45B1WWZTQ-9PY]Q[<^X
MS\3NR4:'8?0&TV>);2D*SD?MB9W4.B>=.A>*4;*F$4M81(X6Z\7RN$U?)\EK
M]Z4GLD:_T[K?Z5OD=MJG/SV1-?PYK_TY[S.WY[]%<N(_2^WO)=-Q>V9][VG&
M\#I5KDHC\X1<LSC&T6)%E;:"%XEY\9*CU?5JT9KC;M[7;E1?;$T7#B8M_RVR
M7-VU+X]Z8FMZ]#18^9USR6OS7+$=3@6^_SS1;47!\TR[!R.T^7ZYIG+#<)K-
M($&4=S;!)T+N/PGV"RT*.U7?"8W;9P]3_(P":0KP>B*$?ER80;W^, O_ U!+
M P04    " !#BP990G.@>:T%  "$*   &0   'AL+W=O<FMS:&5E=',O<VAE
M970V."YX;6RUFEUOVS84AO\*X15#"VRQ2.K+66(@L=2UV[(&2;I=%+M@;-H6
M*HD>1<?MOQ\E*Y(ET433'=_8EOR>AR(/]9K'XL5.R,_%FG.%OF1I7ER.UDIM
MSL?C8K[F&2O.Q(;G^INED!E3^E"NQL5&<K:H@K)T3!S''V<LR4?3B^K<K9Q>
MB*U*DYS?2E1LLXS)K]<\%;O+$1X]G[A+5FM5GAA/+S9LQ>^Y^KBYE?IHW% 6
M2<;S(A$YDGQY.;K"YS$)RX!*\5?"=\7!9U1VY5&(S^7!^\7ER"FOB*=\KDH$
MTV]/?,;3M"3IZ_BWAHZ:-LO P\_/]+=5YW5G'EG!9R+].UFH]>4H'*$%7[)M
MJN[$[AVO.^25O+E(B^H5[6JM,T+S;:%$5@?K*\B2?/_.OM0#<1"@.>8 4@>0
M?H![)(#6 ?1;6W#K /=;6_#J@*KKXWW?JX&+F&+3"REV2)9J32L_5*-?1>OQ
M2O)RHMPKJ;]-=)R:WO$GGF\Y^AG=[Z<*$DL4)05;K21?,<47Z%ER_17=,/E9
M3]Y?I=ANT.N(*Y:DQ1L=_/$^0J]?O4&O4)*CA[78%BQ?%!=CI2^Q;&@\KR_G
M>G\YY,CE4'0C<K4N4)PO^,(0']GC?4O\6 ]-,S[D>7RNB17XVS8_0]3Y"1&'
MN(;KF7U[.#5UY_^U'G]WZYW!H,UDH16/'N$=S(OR)O^P;.;&IS^T%+U7/"O^
M,65]SW7-W-(,SXL-F_/+D7:[@LLG/IK^^ /VG5],0PX)BR!A,1"LDQRW28YK
MHT_O6<J-=]P^S*_"RM^-IRGV<*BGT]/AH)I4(76ZJFBH(A,7>UU5/%110H*V
MQ4[_O*9_GK5_?PJIUN@JXS*9,_3IAF>/7!HGFY7STLD&"8L@83$0K),,OTF&
M?R(G\"&3 PF+(&$Q$*R3G*!)3O!]3K /\P[NRPFE0<\(#"*7ACT?&(KPA/JX
MYP,FE>_X9A\(F]Z%UM[-UDG.T/M\GFX72;Y"[X1^^;U\T4L.],"2'<NM]F#%
MOW0&0L(B2%@,!.OD:-+D:'(B>YA )@<2%D'"8B!8)SG8:=?\SO<91!UW>,=Z
M=-)W"(/*=[Q)SR(,JC!P>@N*V*#">K4:FCT"'Y0UV-K%#VK-)9J);:YDP@NK
M(=A1+YUTH+0(E!9#T;I)(6U2R(ELH09#I0B2%H'28BA:-T5MA8>M-8K%&NC@
M1G4]I^\,0Q&EM&\,0Q&FGMLWAJ'*=YTCMM#62-A>)#U(EA=++B5?H"N%;D62
M*[V60 ])QHV]MN)>/.\@:1$H+8:B=1/3%G?8.Y4U@)9[H+0(E!9#T;HI:DL^
M;"U:+-;@#V]H[0V#98-)%DR\OCT,921T*.G[PU!&'9].CCA$6SMA>_%TZ! ?
MGO0:XJ@U6#DOGG>0M B4%D/1NAEIZST<GLH:0$L]4%H$2HNA:-T4M>4>MA8L
M%FN8#'_%@X$Q#$78H0-?,*AH2/NV8%#Y!ZSN0X"V8B+VBBG.%9<;F11&*[ '
MOW2>@=(B4%H,1>NFH:WJ"#Z1%1#0&@^4%H'28BA:-T5MC4>L!<IQ*ZCC.O\'
M^/U'!S.#*J"^W_,"@PH'[J1?0YADGEY+''&#MD@B]B)I)O)BFW%I[";HHRY0
M6@1*BZ%HW22TI1QQ3^4%H$4=*"T"I<50M&Z*VJ*.V!_9'?<";_AG0DCZZP*#
MRL=A_W]&@RJD_0<6L4&%,27XB!6T11&Q%T576R4R46YV,?83]&D7*"T"I<50
MM&X:VJJ-!*<R ] R#I06@=)B*%HW16T91^S/[8Z;03C<>A"XI&\&0Q4A0;](
M,*BH-R@2#"H/>_T_%\<'NZKTC_VJVLY6H'GY3&&_9Z8YVVR9NZHVBO7.7^/S
M&3:<C_!YO-\0U^+W^_-NF%PE>8%2OM1-.6>!]BVYW_*V/U!B4^WI>A1*^T_U
M<<W9@LM2H+]?"J&>#\H&FHV'T_\ 4$L#!!0    ( $.+!EE?,41RW0,  -X2
M   9    >&PO=V]R:W-H965T<R]S:&5E=#8Y+GAM;+U8;6_;-AC\*X0V#"V0
M1>_RRVP#B26A&5HL2);MP[ /M/38)BJ)'DG;Z7[]2$E6[8K6[%8;$,02_=P=
M>4>3$B=[RC[R-8! KWE6\*FQ%F(S-DV>K"''_)9NH)#?+"G+L9"W;&7R#0.<
MEJ \,QW+"LP<D\*83<JV1S:;T*W(2 &/#/%MGF/VZ1XRNI\:MG%H>"*KM5 -
MYFRRP2MX!O&R>63RSFQ84I)#P0DM$(/EU+BSQ[%M*4!9\1N!/3^Z1FHH"TH_
MJIN'=&I8JD>002(4!98?.YA#EBDFV8^_:E*CT53 X^L#>UP.7@YF@3G,:?8[
M2<5Z:@P-E,(2;S/Q1/?OH!Z0K_@2FO'R/]I7M8%EH&3+!<UKL.Q!3HKJ$[_6
M1AP!)(\>X-0 YTN =P;@U@#W4@6O!GB7*O@UP+\4$-2 H/2^,JMT.L0"SR:,
M[A%3U9)-791QE6AI,"G4S'H63'Y+)$[,GF 'Q18X^A'=I2E1:>,,/135G%79
MOPE!8)+QM[+DY3E$;[Y_.S&%E%8$9E++W%<RSAD9%WV@A5AS%!4II!I\V(T/
M.O"F''(S;N<P[GNGD_#G;7&+7.L&.9;C:?HSOQSNZH;S;>K1MZG'W? 0$@FW
M=? 3+]UF#KDEGWN.CW"\6C%851/FER6J9Q7ZX[TL10\"<OZG;M)4O)Z>5RVJ
M8[[!"4P-N6IR8#LP9C]\9P?63[K$^B0+^R2+^B2+>R([2=IKDO:ZV ^K!5HR
MFJ.Y_$4RN3/(%4NLT;Q<JX#=H.@UR;8I*5;HCG.0?RGZ%;_JXJ_$@E),;8&[
MF>W;0\^RK(FY.XY65SATK59AV"YT1I[MMPJC=J'K.(.V=-QIR%?:[3=V^YUV
MGW.XW/^1H/)WEM =,/3(:+I-A,[C2L$_MLYJ&S?O[,BU/Y[+-*,^-6._/45.
M-4\2")H$@J]*X#W!"Y(1\>E&-C(&A=;[H.6#:SDMZSM[<*WU%TE&?4K&0=OY
MP5GC!XWQ@W]9:1*Z*LC?<O%@]:+#0#TIJW5E ZQ\/BD20'21D6KCX;H(!BT_
M'-WT[^S,M1E<IAGUJ1GW1':2U;#):MB9U4M!A,SI66 !VA ZX==N\WV2A7V2
M17V2Q3V1G00Z:@(=_4</=*,^D^Z3+.R3+.J3+.Z)["1IV_K\_F?]GX]TM=KQ
M;C!R=2NNKM#3%(::0EM+&6DK?4UEW.W)M9Z;1Z_?TJY5>5#"44*WA:C>HIK6
MYC#FKCR"^*+]WA[/;4U[:(^CZJCE,WUU\O,!LQ4I.,I@*:6LVX'<=5AUF%+=
M"+HI7_X75,@LR\LUX!28*I#?+RD5AQLET!QIS?X!4$L#!!0    ( $.+!EF,
M%%,/0P,  ,P4   -    >&PO<W1Y;&5S+GAM;-U876_:,!3]*U&Z3JTT-4#:
M0%9 VI J3=JF2NW#WBI#'+#DV)EC.NBOGZ\=PD=]$>O#!@LJL>_Q.??8OFG<
M]BN]Y/1A1JD.%@47U2"<:5U^C*)J,J,%J:YD285!<JD*HDU73:.J5)1D%9 *
M'G5:K20J"!/AL"_FQ5VAJV BYT(/PFX3"MSM2S8(V\EU&#BYD<SH('RZ>/]S
M+O7MN\#=SSZ<G;6>+F]WXQ<6N PCK^C- :)7+7.ARA;%Y)/#Y/>)8]+=@Z3W
M*&/"O6WAE8]S(]68.L?(J8>\9F*T;LN;<R.C)49UH0S[N13K>HE#%S#*I*#!
M,^&#<$0X&RL&K)P4C"]=N .!B>12!=H4JDG5ADCUXN"VZT$-USH%$U+9W"Z#
M^Q[7PW> 50\,,LX;@YW0!8;]DFA-E;@S'3O8!E]!0=U^7);&X5219;MS$ZX)
M]F:2C*7*J&K2M,-5:-CG- <[BDUG<->RC #46A:FD3$RE8)8#RM&W3"R$\KY
M SS@/_(M[46^L6=VQT33-(;JII-Q'=#?5'/:F[+7;](-2O8L]>>YF8ZP?2AL
M>J]HSA:VO\@; YAZ&U<G9<F7GSB;BH*ZR1^<<-@G*UXPDXJ]F&Q0*A,3H"H,
MGJG2;+(9^:5(^4@7>E5.BQSWW#E!SW]WG:=44$7XIFE3^\>\RF]V''?_E67[
M6V77L-=C_=8^=I,WIV R.063)U&3O5,PF1Z_R?@$/-9GRZ,S&=4GH8WCUM9A
MJXD&<*@=A-_A>,S728/QG''-1-V;L2RCXM69R\AK,C9_JFWIF_$9S<F<Z\<&
M'(3K]C>:L7F1-J/N82'J4>OV5YA>.VE.U"87$QE=T&Q4=]5T;)N!:9BL]06$
M7>3.7GX$XSC,CP"&Y<$<8!S'PO+\3_/IH?-Q&.:MYT5Z**>'<AS+AXSL!\OC
MYZ3F\L\T3>,X2; 5'8V\#D;8NB4)_/C5,&_ P/) IC];:WRW\0K97P?8GNZK
M$&RF>"5B,\77&A#_N@$C3?V[C>4!!K8+6.U ?G\>J"D_)XYA5S%OV!.,(VF*
M(5"+_AI-$F1U$OCX]P=[2N(X3?T(8'X'<8PA\#3B".8 /&!('-OWX,[[*%J]
MIZ+U_R^'OP%02P,$%     @ 0XL&69>*NQS     $P(   L   !?<F5L<R\N
M<F5L<YV2N6[#, Q ?\70GC 'T"&(,V7Q%@3Y 5:B#]@2!8I%G;^OVJ5QD L9
M>3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:<Z10J[4+!XUA]) 1-MC0[!:
M+#Y +AEFM[UD%J=SI%>(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W\PPU
M1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'<?VD-/IKV,BM'I;Z/EQ:%0*
MCMQC)8QQ8K3^-8+)#^Q^ %!+ P04    " !#BP99#(%ZFC\%  "<+0  #P
M 'AL+W=O<FMB;V]K+GAM;,6:6V_;.!!&_PKAE\T^=&U=VP9Q@-S:-9!M@SKH
MZX*1:)N(1+JDY-3]]1U)]F:4R(-]F?C)UL7R$27J?!SQ[,FZQP=K'\7/LC!^
M.EI5U?IT//;92I72_V77RL"6A76EK&#1+<=^[93,_4JIJBS&X622CDNIS>C\
M;'^L.S?&"[926:6M@97-BN]:/?GG[<VBV&BO'W2AJ^UTU'XOU$B4VNA2_U+Y
M=#09";^R3W];IW]94\EBGCE;%--1T&WXKERELU>KYPWDO7SP[9I*/GR3 #(=
MI1,XX$([7[5[M,>7P+A1L'.W5%?VDRXJY:YEI3X[6Z^U63:'@;,8H]-HVV'_
MV37BJ?L_S6@7"YVI:YO5I3)5UXY.%0V@\2N]]B-A9*FFH_TN0II<W)@*&DG,
M3'<HV+<Y4_CK6=Z==06XJ W=J88-;I:WX'R05];DRGB5"_CF;:%SX,C%I2RD
MR91 D"$!&1X1\M\0048$9'04R'F# S]%D#$!&1\1LM>2"0&9'!,R0I I 9D>
M$S)&D.\)R/>\D'=R*S9>W"G7_KSIT=?:9X7UM5,(\0.!^($7<6:\SI43]T[F
M\*06%\Y)LVQZ3.41X4>"\",OX;7RF=/K9KVP"W%9>VV4]^UC_5)BR&!"/<@G
MO)CSNBREVS:(<[TT&GXF03X7669KD _&)'W#+)PO<-Q;Z]N;4LQ7LG<?!I1D
M F[+2+]J+VK[Y>9'K3>R>'$;!I1@ F;#S,P&=K!NBX$HF03,-H&(N(8 M^T2
M#C38NOD!IJ,L$C!K9 9YTRR;/Q47WD/8:S$_6YL_Z:+ E)1& F:/0/]T-8CC
M5LLV2&O5<7ZM5LIA2$HC ;-';I7TJM</*&,$[,K(;*G$O?S99Z(<$3!+8E[9
M['%E"U"9_Z/M"Q7NIB%EAI#;# U;HZHVK)1P)/]R!!)22@C9QR!EJ:O6^-WS
M%T:*$ 64R73O H?D$(1_#)+!'J[;@JDH)83,2OBF0 DU5FA("2%D%L*\?O#J
M1]T,>F\V+]094BX(F5U AJ/>N">D9! RR^!U.!(G]Q(8_)\8D5)!R*R"@RFI
M(\68E"-"=D?LLM)@ U*F")E-,1R:AC C2AH1LS3H](0+0Q'ECHC9'61\$B<8
MD[)'Q&R/+D -7F2R9,6LCZ'4,@A)227BELJ!^+(#Q9B48B+VJA618OIW(J68
MB+]N]9QC!J\U99>(V2Z[/#/(1>DD8M8)G1]P23*BW!(QNV4@/[P3S^RX!DVY
M)69V"XG92V,QY9:8>UQR,.H ;;;"F)1;XF/5K<3)19[CPE],N29^J^I5UWHJ
MKR%:0'_:K<>8Y N2H]2T@+EIRUX9-:9L$S/;YB!FU[08D[)-S&P;,D7V>SJE
MG9A9.S0F?KS'E(5B]D$-A8G?.<64A6)F"]&9_!U^R4A9*&&VT"Z3[WNV-;(X
M\'X^H2R4,%OH/TS\T/Q45S58\Q_=PZ0LE#!;"!=E!]H48U(62HXQXGG&Q9B4
MA9*W&/.\QMS? AB3?%'/758;P$0W*L:D+)0P6XALS?ZL!\I"";.%#@YT.U2,
M25DHX1X+$9B0X3$F9:'D+=[(#&.^B,4I9:'T2"]GVM;LW9LI9:&4V4($9K.(
M,2D+I>QO::@B#(X>*66AE'VN&('9O^B4A5+^V6*H5O1*ZAB3LE#*/U^LAXF#
MTE7/Z2DY8>Q-*V\O,/L7G;)0^D8E.%PX:F:-R>72J:7$F)2%4F8+[3 /Y7>,
M25DH;2TT;G?VYV>Y6FBC\B_P%Q[69[+([IQH/KKI27'2S#)8U$5Q!>N^FELK
M\_WDXOW$Z//?4$L#!!0    ( $.+!EF7=W+D+ (  /8H   :    >&PO7W)E
M;',O=V]R:V)O;VLN>&UL+G)E;'/-VDM.XT 4A>&M1%X E;JO0(LPZ@E3Q :L
M4'F()(Y<;@&[[R@,DF/UH"?(9V25+5__HT]6V8\O9=\.N^Y8M[M3G7T>]L>Z
M;+;#</J54EUMRZ&M=]VI',]7UEU_:(?SLM^D4[MZ;S<ER7P>J;^=T3P]WLZ<
MO7Z=RO],[-;KW:K\[E9_#N4X_&-P^NCZ][HM96AFKVV_*<.R29_[Z^F:+H=\
M=Y[<S)[?EDW__):;-'600)!,'Z00I-,'&039]$$.03Y]4$!03!^T@*#%]$'W
M$'0_?= #!#U,'Y3G*..<(&F$-8'6&;G.!%YG!#L3B)V1[$Q@=D:T,X':&=G.
M!&YGA#L3R)V1[DQ@=T:\,X'>@GH+@=Z">@N!WC)ZV2;06U!O(=!;4&\AT%M0
M;R'06U!O(=!;4&\AT%M0;R'06U!O(=!;46\ET%M1;R706U%O)=!;1YLE!'HK
MZJT$>BOJK01Z*^JM!'HKZJT$>BOJK01Z*^JM!'H;ZFT$>AOJ;01Z&^IM!'H;
MZFT$>MMHLYM ;T.]C4!O0[V-0&]#O8U ;T.]C4!O0[V-0&]'O9U ;T>]G4!O
M1[V=0&]'O9U ;T>]G4!O'WVL)-#;46\GT-M1;R?0VU%O)]#;46\GT#M0[R#0
M.U#O(- [4.\@T#M0[R#0.U#O(- [4.\@T#M&/YL0Z!VH=Q#H':AW$.@=J'?\
MI-YU^-J7>NWY7N-/03])]7"^MUP??UE^GT2<%Q><TVU%??H+4$L#!!0    (
M $.+!EG62",N]P$  "LH   3    6T-O;G1E;G1?5'EP97-=+GAM;,W:RT[#
M,! %T%^ILD6-ZR</T6Z +;#@!TPRI5&3V+)=*'^/DP(2""I0D;B;1JWMN1./
M=%8]OWOV%"?;KNWCO%BEY,\8B]6*.AM+YZG/*TL7.IORU_# O*W6]H&8F,T,
MJUR?J$_3--0H%N>7M+2;-DVNMOGGV+A^7@1J8S&YV&T<LN:%];YM*IOR.GOL
MZT\IT]>$,I\<]\15X^-1WE"P+Q.&E>\#7L_=/%((34V36QO2M>WR+K9M64S/
M+<5R?XDO>G3+95-1[:I-EX^4T0>R=5P1I:XM=T6/]B>G?,.T^^0'YX]E]@7F
MG;?!^9@G%NCW<6\C&4Y/?2Y$(37[7_$],9<^^/UHF'9-]0^S\_4^N; >YQ'9
M^#C\CC_.^+W^+_L0('U(D#X42!\:I \#TL<Q2!\G('V<@O3!9RB-H(C*44CE
M**9R%%0YBJH<A56.XBI'@96CR"I09!4HL@H4606*K )%5H$BJT"15:#(*E!D
M%2BR2A19)8JL$D56B2*K1)%5HL@J4625*+)*%%DEBJP*15:%(JM"D56AR*I0
M9%4HLBH4616*K I%5H4BJT:15:/(JE%DU2BR:A19-8JL&D56C2*K1I%5H\AJ
M4&0U*+(:%%D-BJP&15:#(JM!D=6@R&I09#7_*>N]<^L_CA^?96>;_BV?C?\1
M7+P 4$L! A0#%     @ 0XL&60=!36*!    L0   !               ( !
M     &1O8U!R;W!S+V%P<"YX;6Q02P$"% ,4    " !#BP99Y7H)7.\    K
M @  $0              @ &O    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4
M    " !#BP99F5R<(Q &  "<)P  $P              @ '- 0  >&PO=&AE
M;64O=&AE;64Q+GAM;%!+ 0(4 Q0    ( $.+!EG4]77'Z04  ,X?   8
M          " @0X(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4
M    " !#BP99+ <ZQA,&  #2&   &               @($M#@  >&PO=V]R
M:W-H965T<R]S:&5E=#(N>&UL4$L! A0#%     @ 0XL&603HS5K' @  ZP<
M !@              ("!=A0  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+
M 0(4 Q0    ( $.+!EGF*9O^!08   D>   8              " @7,7  !X
M;"]W;W)K<VAE971S+W-H965T-"YX;6Q02P$"% ,4    " !#BP99+,[7[2X#
M  !E"P  &               @(&N'0  >&PO=V]R:W-H965T<R]S:&5E=#4N
M>&UL4$L! A0#%     @ 0XL&6?,[4-5K"P  2&@  !@              ("!
M$B$  'AL+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( $.+!EDV
M*P;;]0<  )LD   8              " @;,L  !X;"]W;W)K<VAE971S+W-H
M965T-RYX;6Q02P$"% ,4    " !#BP99Y*>PD+,"  "%"0  &
M    @('>-   >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @
M0XL&6307BE=@ @  P@<  !@              ("!QS<  'AL+W=O<FMS:&5E
M=',O<VAE970Y+GAM;%!+ 0(4 Q0    ( $.+!ED*N%)(C08  "D0   9
M          " @5TZ  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#
M%     @ 0XL&65^U6'B!&P  #U8  !D              ("!(4$  'AL+W=O
M<FMS:&5E=',O<VAE970Q,2YX;6Q02P$"% ,4    " !#BP99]SPGFQL$  "M
M"@  &0              @('97   >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM
M;%!+ 0(4 Q0    ( $.+!EDW%5(<1@,  "\'   9              " @2MA
M  !X;"]W;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @ 0XL&62S;
MO_BP @  0@8  !D              ("!J&0  'AL+W=O<FMS:&5E=',O<VAE
M970Q-"YX;6Q02P$"% ,4    " !#BP99LB%C_8@#  #P!P  &0
M    @(&/9P  >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    (
M $.+!EDY.S@DJ 8  % 1   9              " @4YK  !X;"]W;W)K<VAE
M971S+W-H965T,38N>&UL4$L! A0#%     @ 0XL&65D0+3K> @  = 8  !D
M             ("!+7(  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"
M% ,4    " !#BP99O,[=)8(%   I#0  &0              @(%"=0  >&PO
M=V]R:W-H965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( $.+!EGXPE5 N@0
M *8*   9              " @?MZ  !X;"]W;W)K<VAE971S+W-H965T,3DN
M>&UL4$L! A0#%     @ 0XL&69[&M- Q!0  @0P  !D              ("!
M['\  'AL+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    " !#BP99
M0L="W6 )   ?&0  &0              @(%4A0  >&PO=V]R:W-H965T<R]S
M:&5E=#(Q+GAM;%!+ 0(4 Q0    ( $.+!EDJIS@;"P0  'H)   9
M      " @>N.  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#%
M  @ 0XL&66G[%)5,!   X0D  !D              ("!+9,  'AL+W=O<FMS
M:&5E=',O<VAE970R,RYX;6Q02P$"% ,4    " !#BP99^,"2D.($   <"P
M&0              @(&PEP  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+
M 0(4 Q0    ( $.+!EGFAI</ P(  *L$   9              " @<F<  !X
M;"]W;W)K<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @ 0XL&6=>A%2#>
M'P  V6@  !D              ("! Y\  'AL+W=O<FMS:&5E=',O<VAE970R
M-BYX;6Q02P$"% ,4    " !#BP99[/=EP[(#  !I"0  &0
M@($8OP  >&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    ( $.+
M!EE .Q^JI@(  -L%   9              " @0'#  !X;"]W;W)K<VAE971S
M+W-H965T,C@N>&UL4$L! A0#%     @ 0XL&6=C!VU/' @  : 8  !D
M         ("!WL4  'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"% ,4
M    " !#BP99S^&;4/@"  !_!@  &0              @('<R   >&PO=V]R
M:W-H965T<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    ( $.+!EE)J#,Y!@0   (*
M   9              " @0O,  !X;"]W;W)K<VAE971S+W-H965T,S$N>&UL
M4$L! A0#%     @ 0XL&66%:D5W= @  = 8  !D              ("!2-
M 'AL+W=O<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    " !#BP99\9IJ
M4PP#  "=!@  &0              @(%<TP  >&PO=V]R:W-H965T<R]S:&5E
M=#,S+GAM;%!+ 0(4 Q0    ( $.+!EDWPFW)0 0  &\*   9
M  " @9_6  !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%     @
M0XL&65+"#]IX!0  N \  !D              ("!%ML  'AL+W=O<FMS:&5E
M=',O<VAE970S-2YX;6Q02P$"% ,4    " !#BP992$O$@+,"   L!@  &0
M            @('%X   >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4
M Q0    ( $.+!EG&[2H[?P,  !X(   9              " @:_C  !X;"]W
M;W)K<VAE971S+W-H965T,S<N>&UL4$L! A0#%     @ 0XL&6>897"N6 P
ML0<  !D              ("!9><  'AL+W=O<FMS:&5E=',O<VAE970S."YX
M;6Q02P$"% ,4    " !#BP99_32PB-H#  "=$P  &0              @($R
MZP  >&PO=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( $.+!EE"
MJ),A[0,  +,1   9              " @4/O  !X;"]W;W)K<VAE971S+W-H
M965T-# N>&UL4$L! A0#%     @ 0XL&66PGOCDT P  FPP  !D
M     ("!9_,  'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4
M" !#BP99K,8/LMD"  #F"   &0              @('2]@  >&PO=V]R:W-H
M965T<R]S:&5E=#0R+GAM;%!+ 0(4 Q0    ( $.+!EE'I)NG<@(  '4&   9
M              " @>+Y  !X;"]W;W)K<VAE971S+W-H965T-#,N>&UL4$L!
M A0#%     @ 0XL&64Y[*)4> P  @ P  !D              ("!B_P  'AL
M+W=O<FMS:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    " !#BP991E,8E5L#
M   ?$0  &0              @('@_P  >&PO=V]R:W-H965T<R]S:&5E=#0U
M+GAM;%!+ 0(4 Q0    ( $.+!EDW )-%&@0  )@6   9              "
M@7(# 0!X;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @ 0XL&
M6<*6WXC&!   V!D  !D              ("!PP<! 'AL+W=O<FMS:&5E=',O
M<VAE970T-RYX;6Q02P$"% ,4    " !#BP99-L&V5=T"   ,"0  &0
M        @(' # $ >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0
M   ( $.+!EF*!"SB_@(  &P*   9              " @=0/ 0!X;"]W;W)K
M<VAE971S+W-H965T-#DN>&UL4$L! A0#%     @ 0XL&69OT.:(; P  P0D
M !D              ("!"1,! 'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6Q0
M2P$"% ,4    " !#BP9931?? ]0#  !_$P  &0              @(%;%@$
M>&PO=V]R:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( $.+!EGO+622
M.@,  % +   9              " @68: 0!X;"]W;W)K<VAE971S+W-H965T
M-3(N>&UL4$L! A0#%     @ 0XL&6=N[P.+< @  %@D  !D
M ("!UQT! 'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4    " !#
MBP996&L("&@#  "V#0  &0              @('J( $ >&PO=V]R:W-H965T
M<R]S:&5E=#4T+GAM;%!+ 0(4 Q0    ( $.+!EGEEW0[Z 0  (47   9
M          " @8DD 0!X;"]W;W)K<VAE971S+W-H965T-34N>&UL4$L! A0#
M%     @ 0XL&61)3AFBM P  *Q4  !D              ("!J"D! 'AL+W=O
M<FMS:&5E=',O<VAE970U-BYX;6Q02P$"% ,4    " !#BP99V[N^-=,"  !G
M!P  &0              @(&,+0$ >&PO=V]R:W-H965T<R]S:&5E=#4W+GAM
M;%!+ 0(4 Q0    ( $.+!EGIBGO)400  ),9   9              " @98P
M 0!X;"]W;W)K<VAE971S+W-H965T-3@N>&UL4$L! A0#%     @ 0XL&6>F-
M;*P6!0  A!D  !D              ("!'C4! 'AL+W=O<FMS:&5E=',O<VAE
M970U.2YX;6Q02P$"% ,4    " !#BP99**XT>6T'  "2,@  &0
M    @(%K.@$ >&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+ 0(4 Q0    (
M $.+!EG(VU>5+ 0  'L3   9              " @0]" 0!X;"]W;W)K<VAE
M971S+W-H965T-C$N>&UL4$L! A0#%     @ 0XL&62&*Z,P, P  -@D  !D
M             ("!<D8! 'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6Q02P$"
M% ,4    " !#BP990W@[&6P"  #[!0  &0              @(&U20$ >&PO
M=V]R:W-H965T<R]S:&5E=#8S+GAM;%!+ 0(4 Q0    ( $.+!EG G>*JS@(
M +T'   9              " @5A, 0!X;"]W;W)K<VAE971S+W-H965T-C0N
M>&UL4$L! A0#%     @ 0XL&69E^*AA\ @  50<  !D              ("!
M74\! 'AL+W=O<FMS:&5E=',O<VAE970V-2YX;6Q02P$"% ,4    " !#BP99
M"J08K_(#   F&P  &0              @($04@$ >&PO=V]R:W-H965T<R]S
M:&5E=#8V+GAM;%!+ 0(4 Q0    ( $.+!EE":8V'40,  *0-   9
M      " @3E6 0!X;"]W;W)K<VAE971S+W-H965T-C<N>&UL4$L! A0#%
M  @ 0XL&64)SH'FM!0  A"@  !D              ("!P5D! 'AL+W=O<FMS
M:&5E=',O<VAE970V."YX;6Q02P$"% ,4    " !#BP997S%$<MT#  #>$@
M&0              @(&E7P$ >&PO=V]R:W-H965T<R]S:&5E=#8Y+GAM;%!+
M 0(4 Q0    ( $.+!EF,%%,/0P,  ,P4   -              "  ;EC 0!X
M;"]S='EL97,N>&UL4$L! A0#%     @ 0XL&69>*NQS     $P(   L
M         ( !)V<! %]R96QS+RYR96QS4$L! A0#%     @ 0XL&60R!>IH_
M!0  G"T   \              ( !$&@! 'AL+W=O<FMB;V]K+GAM;%!+ 0(4
M Q0    ( $.+!EF7=W+D+ (  /8H   :              "  7QM 0!X;"]?
M<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0    ( $.+!EG62",N]P$
M "LH   3              "  >!O 0!;0V]N=&5N=%]4>7!E<UTN>&UL4$L%
3!@    !- $T $A4   AR 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// 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)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* 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;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.2.u1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>183</ContextCount>
  <ElementCount>289</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>53</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>5</UnitCount>
  <MyReports>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>100000 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>100010 - Statement - Condensed Consolidated Balance Sheets (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>100020 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical</Role>
      <ShortName>Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>100040 - Statement - Condensed Consolidated Statements of Operations (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Operations (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>100060 - Statement - Condensed Consolidated Statements of Comprehensive Loss (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Comprehensive Loss (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>100070 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Stockholders' Equity (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>100080 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited</Role>
      <ShortName>Condensed Consolidated Statements of Cash Flows (Unaudited)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>995410 - Disclosure - Pay vs Performance Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/PvpDisclosure</Role>
      <ShortName>Pay vs Performance Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>995445 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>995455 - Disclosure - Description of Business and Basis of Presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDescriptionOfBusinessAndBasisOfPresentation</Role>
      <ShortName>Description of Business and Basis of Presentation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>995465 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>995475 - Disclosure - Net Loss Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShare</Role>
      <ShortName>Net Loss Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>995495 - Disclosure - Cash and Cash Equivalents</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalents</Role>
      <ShortName>Cash and Cash Equivalents</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>995505 - Disclosure - Inventory</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureInventory1</Role>
      <ShortName>Inventory</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>995515 - Disclosure - Property and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipment</Role>
      <ShortName>Property and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>995525 - Disclosure - Intangible Assets and Goodwill</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwill</Role>
      <ShortName>Intangible Assets and Goodwill</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>995535 - Disclosure - Accrued Liabilities and Other</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOther</Role>
      <ShortName>Accrued Liabilities and Other</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>995555 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureLeases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>995575 - Disclosure - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureIncomeTaxes</Role>
      <ShortName>Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>995585 - Disclosure - Stockholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquity1</Role>
      <ShortName>Stockholders' Equity</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>995595 - Disclosure - Stock Based Compensation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensation</Role>
      <ShortName>Stock Based Compensation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>995605 - Disclosure - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingencies</Role>
      <ShortName>Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>995615 - Disclosure - Concentrations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrations</Role>
      <ShortName>Concentrations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>995625 - Disclosure - Revenue</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenue</Role>
      <ShortName>Revenue</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>995635 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>995645 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>26</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>995655 - Disclosure - Net Loss Per Share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareTables</Role>
      <ShortName>Net Loss Per Share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShare</ParentRole>
      <Position>27</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>995675 - Disclosure - Cash and Cash Equivalents (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsTables</Role>
      <ShortName>Cash and Cash Equivalents (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalents</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>995685 - Disclosure - Inventory (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryTables</Role>
      <ShortName>Inventory (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.airgain.com/20240630/taxonomy/role/DisclosureInventory1</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>995695 - Disclosure - Property and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentTables</Role>
      <ShortName>Property and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipment</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>995705 - Disclosure - Intangible Assets and Goodwill (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillTables</Role>
      <ShortName>Intangible Assets and Goodwill (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwill</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>995715 - Disclosure - Accrued Liabilities and Other (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherTables</Role>
      <ShortName>Accrued Liabilities and Other (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOther</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>995725 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.airgain.com/20240630/taxonomy/role/DisclosureLeases</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>995735 - Disclosure - Stockholders' Equity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityTables</Role>
      <ShortName>Stockholders' Equity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquity1</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>995745 - Disclosure - Stock Based Compensation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationTables</Role>
      <ShortName>Stock Based Compensation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensation</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>995755 - Disclosure - Commitments and Contingencies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureCommitmentsAndContingenciesTables</Role>
      <ShortName>Commitments and Contingencies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingencies</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>995765 - Disclosure - Concentration (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationTables</Role>
      <ShortName>Concentration (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrations</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>995775 - Disclosure - Revenue (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueTables</Role>
      <ShortName>Revenue (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenue</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>995795 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails</Role>
      <ShortName>Summary of Significant Accounting Policies - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>39</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>995805 - Disclosure - Net Loss Per Share - Summary of Computation of Net Loss Per Share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfComputationOfNetLossPerShareDetails</Role>
      <ShortName>Net Loss Per Share - Summary of Computation of Net Loss Per Share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>40</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>995815 - Disclosure - Net Loss Per Share - Summary of Potentially Dilutive Securities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails</Role>
      <ShortName>Net Loss Per Share - Summary of Potentially Dilutive Securities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>41</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>995825 - Disclosure - Cash and Cash Equivalents - Schedule of Cash and Cash Equivalents by Significant Investment Category (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails</Role>
      <ShortName>Cash and Cash Equivalents - Schedule of Cash and Cash Equivalents by Significant Investment Category (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>42</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>995835 - Disclosure - Cash and Cash Equivalents (Additional Information) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsAdditionalInformationDetails</Role>
      <ShortName>Cash and Cash Equivalents (Additional Information) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsTables</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>995845 - Disclosure - Inventory - Schedule of Inventory and Consigned Inventories, Current (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails</Role>
      <ShortName>Inventory - Schedule of Inventory and Consigned Inventories, Current (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>44</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>995865 - Disclosure - Property and Equipment - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails</Role>
      <ShortName>Property and Equipment - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>995875 - Disclosure - Property and Equipment - Schedule of Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails</Role>
      <ShortName>Property and Equipment - Schedule of Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>995885 - Disclosure - Intangible Assets and Goodwill - Summary of Acquired Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails</Role>
      <ShortName>Intangible Assets and Goodwill - Summary of Acquired Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>47</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>995895 - Disclosure - Intangible Assets and Goodwill - Schedule of Estimated Annual Amortization of Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillScheduleOfEstimatedAnnualAmortizationOfIntangibleAssetsDetails</Role>
      <ShortName>Intangible Assets and Goodwill - Schedule of Estimated Annual Amortization of Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>995905 - Disclosure - Intangible Assets and Goodwill - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillAdditionalInformationDetails</Role>
      <ShortName>Intangible Assets and Goodwill - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>995915 - Disclosure - Accrued Liabilities and Other - Summary of Accrued Liabilities and Other (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherSummaryOfAccruedLiabilitiesAndOtherDetails</Role>
      <ShortName>Accrued Liabilities and Other - Summary of Accrued Liabilities and Other (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>995935 - Disclosure - Leases - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails</Role>
      <ShortName>Leases - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>995945 - Disclosure - Leases - Schedule of Future Minimum Lease Payments on Operating Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails</Role>
      <ShortName>Leases - Schedule of Future Minimum Lease Payments on Operating Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>995965 - Disclosure - Income Taxes - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails</Role>
      <ShortName>Income Taxes - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>995975 - Disclosure - Stockholders' Equity - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails</Role>
      <ShortName>Stockholders' Equity - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>995985 - Disclosure - Stockholders' Equity - Schedule of Common Stock Reserved for Future Issuance (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails</Role>
      <ShortName>Stockholders' Equity - Schedule of Common Stock Reserved for Future Issuance (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>995995 - Disclosure - Stockholders' Equity- Schedule of Common Stock Reserved for Future Issuance (Parenthetical) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails</Role>
      <ShortName>Stockholders' Equity- Schedule of Common Stock Reserved for Future Issuance (Parenthetical) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>996005 - Disclosure - Stockholders' Equity - Schedule of the Company's ATM sales activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails</Role>
      <ShortName>Stockholders' Equity - Schedule of the Company's ATM sales activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>996015 - Disclosure - Stock Based Compensation - Schedule Of Stock Based Compensation Expenses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails</Role>
      <ShortName>Stock Based Compensation - Schedule Of Stock Based Compensation Expenses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>996035 - Disclosure - Stock Based Compensation - Summary of Outstanding Stock Option Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails</Role>
      <ShortName>Stock Based Compensation - Summary of Outstanding Stock Option Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>996045 - Disclosure - Stock Based Compensation - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails</Role>
      <ShortName>Stock Based Compensation - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>996055 - Disclosure - Stock Based Compensation - Summary of Outstanding Restricted Stock Unit Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails</Role>
      <ShortName>Stock Based Compensation - Summary of Outstanding Restricted Stock Unit Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>996065 - Disclosure - Stock Based Compensation - Company's share-settled obligation RSU grants (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails</Role>
      <ShortName>Stock Based Compensation - Company's share-settled obligation RSU grants (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>996075 - Disclosure - Commitments and Contingencies - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails</Role>
      <ShortName>Commitments and Contingencies - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>996085 - Disclosure - Commitments and Contingencies - Schedule of liability recorded related to severance and exit costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureCommitmentsAndContingenciesScheduleOfLiabilityRecordedRelatedToSeveranceAndExitCostsDetails</Role>
      <ShortName>Commitments and Contingencies - Schedule of liability recorded related to severance and exit costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>996095 - Disclosure - Concentration - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails</Role>
      <ShortName>Concentration - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>65</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>996105 - Disclosure - Concentration - Schedule of Concentration of Sales and Accounts Receivable (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails</Role>
      <ShortName>Concentration - Schedule of Concentration of Sales and Accounts Receivable (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>66</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>996115 - Disclosure - Concentration - Schedule of Concentration of Fixed Assets by Geographical Regions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails</Role>
      <ShortName>Concentration - Schedule of Concentration of Fixed Assets by Geographical Regions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>67</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>996135 - Disclosure - Revenue - Summary of Disaggregated Revenue By Market Group (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails</Role>
      <ShortName>Revenue - Summary of Disaggregated Revenue By Market Group (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>68</Position>
    </Report>
    <Report instance="airg-20240630.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>996145 - Disclosure - Revenues - Additional Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails</Role>
      <ShortName>Revenues - Additional Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>69</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-Q" isDefinitelyFs="true" isUsgaap="true" original="airg-20240630.htm">airg-20240630.htm</File>
    <File>airg-20240630.xsd</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy items="664">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="30">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>false</HasPresentationLinkbase>
  <HasCalculationLinkbase>false</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>84
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "airg-20240630.htm": {
   "nsprefix": "airg",
   "nsuri": "http://www.airgain.com/20240630",
   "dts": {
    "inline": {
     "local": [
      "airg-20240630.htm"
     ]
    },
    "schema": {
     "local": [
      "airg-20240630.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/arcrole/esma-arcrole-2018-11-21.xsd",
      "http://www.xbrl.org/lrr/role/negated-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/2023/calculation-1.1.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/2024/elts/srt-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd",
      "https://xbrl.sec.gov/country/2024/country-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    }
   },
   "keyStandard": 255,
   "keyCustom": 34,
   "axisStandard": 17,
   "axisCustom": 0,
   "memberStandard": 32,
   "memberCustom": 21,
   "hidden": {
    "total": 11,
    "http://fasb.org/us-gaap/2024": 5,
    "http://xbrl.sec.gov/dei/2024": 4,
    "http://www.airgain.com/20240630": 2
   },
   "contextCount": 183,
   "entityCount": 1,
   "segmentCount": 53,
   "elementCount": 690,
   "unitCount": 5,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 664,
    "http://xbrl.sec.gov/dei/2024": 30,
    "http://xbrl.sec.gov/ecd/2024": 4
   },
   "report": {
    "R1": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation",
     "longName": "100000 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited",
     "longName": "100010 - Statement - Condensed Consolidated Balance Sheets (Unaudited)",
     "shortName": "Condensed Consolidated Balance Sheets (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:AccountsReceivableNetCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical",
     "longName": "100020 - Statement - Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)",
     "shortName": "Condensed Consolidated Balance Sheets (Unaudited) (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "U_USDollarShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "U_USDollarShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited",
     "longName": "100040 - Statement - Condensed Consolidated Statements of Operations (Unaudited)",
     "shortName": "Condensed Consolidated Statements of Operations (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:CostOfRevenue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited",
     "longName": "100060 - Statement - Condensed Consolidated Statements of Comprehensive Loss (Unaudited)",
     "shortName": "Condensed Consolidated Statements of Comprehensive Loss (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:ComprehensiveIncomeNetOfTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited",
     "longName": "100070 - Statement - Condensed Consolidated Statements of Stockholders' Equity (Unaudited)",
     "shortName": "Condensed Consolidated Statements of Stockholders' Equity (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "C_f6f6a2be-0017-4a01-a899-30d6bee38a06",
      "name": "us-gaap:SharesOutstanding",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_2a4acd5b-9793-4309-8c82-dc9d1d6a70cd",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited",
     "longName": "100080 - Statement - Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "shortName": "Condensed Consolidated Statements of Cash Flows (Unaudited)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure",
     "longName": "995410 - Disclosure - Pay vs Performance Disclosure",
     "shortName": "Pay vs Performance Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R9": {
     "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": "9",
     "firstAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDescriptionOfBusinessAndBasisOfPresentation",
     "longName": "995455 - Disclosure - Description of Business and Basis of Presentation",
     "shortName": "Description of Business and Basis of Presentation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies",
     "longName": "995465 - Disclosure - Summary of Significant Accounting Policies",
     "shortName": "Summary of Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShare",
     "longName": "995475 - Disclosure - Net Loss Per Share",
     "shortName": "Net Loss Per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalents",
     "longName": "995495 - Disclosure - Cash and Cash Equivalents",
     "shortName": "Cash and Cash Equivalents",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventory1",
     "longName": "995505 - Disclosure - Inventory",
     "shortName": "Inventory",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipment",
     "longName": "995515 - Disclosure - Property and Equipment",
     "shortName": "Property and Equipment",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwill",
     "longName": "995525 - Disclosure - Intangible Assets and Goodwill",
     "shortName": "Intangible Assets and Goodwill",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOther",
     "longName": "995535 - Disclosure - Accrued Liabilities and Other",
     "shortName": "Accrued Liabilities and Other",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeases",
     "longName": "995555 - Disclosure - Leases",
     "shortName": "Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureIncomeTaxes",
     "longName": "995575 - Disclosure - Income Taxes",
     "shortName": "Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquity1",
     "longName": "995585 - Disclosure - Stockholders' Equity",
     "shortName": "Stockholders' Equity",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensation",
     "longName": "995595 - Disclosure - Stock Based Compensation",
     "shortName": "Stock Based Compensation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingencies",
     "longName": "995605 - Disclosure - Commitments and Contingencies",
     "shortName": "Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrations",
     "longName": "995615 - Disclosure - Concentrations",
     "shortName": "Concentrations",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenue",
     "longName": "995625 - Disclosure - Revenue",
     "shortName": "Revenue",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEvents",
     "longName": "995635 - Disclosure - Subsequent Events",
     "shortName": "Subsequent Events",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "C_814c6938-137e-44bb-a615-e62384dc5c72",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_814c6938-137e-44bb-a615-e62384dc5c72",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies",
     "longName": "995645 - Disclosure - Summary of Significant Accounting Policies (Policies)",
     "shortName": "Summary of Significant Accounting Policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "26",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "airg:DescriptionOfBusinessPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "airg:DescriptionOfBusinessPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareTables",
     "longName": "995655 - Disclosure - Net Loss Per Share (Tables)",
     "shortName": "Net Loss Per Share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "27",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsTables",
     "longName": "995675 - Disclosure - Cash and Cash Equivalents (Tables)",
     "shortName": "Cash and Cash Equivalents (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "28",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryTables",
     "longName": "995685 - Disclosure - Inventory (Tables)",
     "shortName": "Inventory (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "29",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "airg:ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "airg:ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentTables",
     "longName": "995695 - Disclosure - Property and Equipment (Tables)",
     "shortName": "Property and Equipment (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "30",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillTables",
     "longName": "995705 - Disclosure - Intangible Assets and Goodwill (Tables)",
     "shortName": "Intangible Assets and Goodwill (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "31",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherTables",
     "longName": "995715 - Disclosure - Accrued Liabilities and Other (Tables)",
     "shortName": "Accrued Liabilities and Other (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "32",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesTables",
     "longName": "995725 - Disclosure - Leases (Tables)",
     "shortName": "Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "33",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "airg:ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "airg:ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityTables",
     "longName": "995735 - Disclosure - Stockholders' Equity (Tables)",
     "shortName": "Stockholders' Equity (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "34",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "airg:ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "airg:ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationTables",
     "longName": "995745 - Disclosure - Stock Based Compensation (Tables)",
     "shortName": "Stock Based Compensation (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "35",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureCommitmentsAndContingenciesTables",
     "longName": "995755 - Disclosure - Commitments and Contingencies (Tables)",
     "shortName": "Commitments and Contingencies (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "36",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "airg:ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "airg:ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationTables",
     "longName": "995765 - Disclosure - Concentration (Tables)",
     "shortName": "Concentration (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "37",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueTables",
     "longName": "995775 - Disclosure - Revenue (Tables)",
     "shortName": "Revenue (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "38",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
     "longName": "995795 - Disclosure - Summary of Significant Accounting Policies - Additional Information (Details)",
     "shortName": "Summary of Significant Accounting Policies - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "39",
     "firstAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "airg:RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "airg:RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock",
       "div",
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfComputationOfNetLossPerShareDetails",
     "longName": "995805 - Disclosure - Net Loss Per Share - Summary of Computation of Net Loss Per Share (Details)",
     "shortName": "Net Loss Per Share - Summary of Computation of Net Loss Per Share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "40",
     "firstAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails",
     "longName": "995815 - Disclosure - Net Loss Per Share - Summary of Potentially Dilutive Securities (Details)",
     "shortName": "Net Loss Per Share - Summary of Potentially Dilutive Securities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "41",
     "firstAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
       "div",
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails",
     "longName": "995825 - Disclosure - Cash and Cash Equivalents - Schedule of Cash and Cash Equivalents by Significant Investment Category (Details)",
     "shortName": "Cash and Cash Equivalents - Schedule of Cash and Cash Equivalents by Significant Investment Category (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "42",
     "firstAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:Cash",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
       "div",
       "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:Cash",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
       "div",
       "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsAdditionalInformationDetails",
     "longName": "995835 - Disclosure - Cash and Cash Equivalents (Additional Information) (Details)",
     "shortName": "Cash and Cash Equivalents (Additional Information) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "43",
     "firstAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:RestrictedCashEquivalents",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:RestrictedCashEquivalents",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "0",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails",
     "longName": "995845 - Disclosure - Inventory - Schedule of Inventory and Consigned Inventories, Current (Details)",
     "shortName": "Inventory - Schedule of Inventory and Consigned Inventories, Current (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "44",
     "firstAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:InventoryNet",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_c7b51bbf-4036-496f-b649-0a51a6f2430a",
      "name": "us-gaap:InventoryRawMaterialsAndSupplies",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "airg:ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock",
       "div",
       "us-gaap:InventoryDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails",
     "longName": "995865 - Disclosure - Property and Equipment - Additional Information (Details)",
     "shortName": "Property and Equipment - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "45",
     "firstAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:Depreciation",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R46": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails",
     "longName": "995875 - Disclosure - Property and Equipment - Schedule of Property and Equipment (Details)",
     "shortName": "Property and Equipment - Schedule of Property and Equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "46",
     "firstAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:PropertyPlantAndEquipmentGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails",
     "longName": "995885 - Disclosure - Intangible Assets and Goodwill - Summary of Acquired Intangible Assets (Details)",
     "shortName": "Intangible Assets and Goodwill - Summary of Acquired Intangible Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "47",
     "firstAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:FiniteLivedIntangibleAssetsGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillScheduleOfEstimatedAnnualAmortizationOfIntangibleAssetsDetails",
     "longName": "995895 - Disclosure - Intangible Assets and Goodwill - Schedule of Estimated Annual Amortization of Intangible Assets (Details)",
     "shortName": "Intangible Assets and Goodwill - Schedule of Estimated Annual Amortization of Intangible Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "48",
     "firstAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
       "div",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillAdditionalInformationDetails",
     "longName": "995905 - Disclosure - Intangible Assets and Goodwill - Additional Information (Details)",
     "shortName": "Intangible Assets and Goodwill - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "49",
     "firstAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:AmortizationOfIntangibleAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:GoodwillImpairmentLoss",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherSummaryOfAccruedLiabilitiesAndOtherDetails",
     "longName": "995915 - Disclosure - Accrued Liabilities and Other - Summary of Accrued Liabilities and Other (Details)",
     "shortName": "Accrued Liabilities and Other - Summary of Accrued Liabilities and Other (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "50",
     "firstAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:OtherAccruedLiabilitiesCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
       "div",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:OtherAccruedLiabilitiesCurrent",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
       "div",
       "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails",
     "longName": "995935 - Disclosure - Leases - Additional Information (Details)",
     "shortName": "Leases - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "51",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:LesseeOperatingLeaseOptionToExtend",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:LesseeOperatingLeaseOptionToExtend",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails",
     "longName": "995945 - Disclosure - Leases - Schedule of Future Minimum Lease Payments on Operating Leases (Details)",
     "shortName": "Leases - Schedule of Future Minimum Lease Payments on Operating Leases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "52",
     "firstAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "airg:ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "airg:ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock",
       "div",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails",
     "longName": "995965 - Disclosure - Income Taxes - Additional Information (Details)",
     "shortName": "Income Taxes - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "53",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "span",
       "p",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
     "longName": "995975 - Disclosure - Stockholders' Equity - Additional Information (Details)",
     "shortName": "Stockholders' Equity - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "54",
     "firstAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:CommonStockSharesIssued",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_120b8152-dc6c-4d14-a177-d9b92844dad3",
      "name": "us-gaap:CommonStockValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails",
     "longName": "995985 - Disclosure - Stockholders' Equity - Schedule of Common Stock Reserved for Future Issuance (Details)",
     "shortName": "Stockholders' Equity - Schedule of Common Stock Reserved for Future Issuance (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "55",
     "firstAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:CommonStockCapitalSharesReservedForFutureIssuance",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "airg:ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:CommonStockCapitalSharesReservedForFutureIssuance",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "airg:ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails",
     "longName": "995995 - Disclosure - Stockholders' Equity- Schedule of Common Stock Reserved for Future Issuance (Parenthetical) (Details)",
     "shortName": "Stockholders' Equity- Schedule of Common Stock Reserved for Future Issuance (Parenthetical) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "parenthetical",
     "menuCat": "Details",
     "order": "56",
     "firstAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:TreasuryStockCommonShares",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_4d093ac2-9a3f-4acc-8923-f34bbd39eec4",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "span",
       "p",
       "link:footnote",
       "airg:ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails",
     "longName": "996005 - Disclosure - Stockholders' Equity - Schedule of the Company's ATM sales activity (Details)",
     "shortName": "Stockholders' Equity - Schedule of the Company's ATM sales activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "57",
     "firstAnchor": {
      "contextRef": "C_a2f21e0a-510a-4388-a9a6-cd10cc924858",
      "name": "us-gaap:StockIssuedDuringPeriodSharesNewIssues",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_a2f21e0a-510a-4388-a9a6-cd10cc924858",
      "name": "us-gaap:StockIssuedDuringPeriodSharesNewIssues",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "div",
       "us-gaap:StockholdersEquityNoteDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails",
     "longName": "996015 - Disclosure - Stock Based Compensation - Schedule Of Stock Based Compensation Expenses (Details)",
     "shortName": "Stock Based Compensation - Schedule Of Stock Based Compensation Expenses (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "58",
     "firstAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails",
     "longName": "996035 - Disclosure - Stock Based Compensation - Summary of Outstanding Stock Option Activity (Details)",
     "shortName": "Stock Based Compensation - Summary of Outstanding Stock Option Activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "59",
     "firstAnchor": {
      "contextRef": "C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails",
     "longName": "996045 - Disclosure - Stock Based Compensation - Additional Information (Details)",
     "shortName": "Stock Based Compensation - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "60",
     "firstAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_f46e4734-cb96-4e89-9673-74cc9f95d89a",
      "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails",
     "longName": "996055 - Disclosure - Stock Based Compensation - Summary of Outstanding Restricted Stock Unit Activity (Details)",
     "shortName": "Stock Based Compensation - Summary of Outstanding Restricted Stock Unit Activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "61",
     "firstAnchor": {
      "contextRef": "C_647363e2-cd37-4f30-97cc-7379e29198b6",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_647363e2-cd37-4f30-97cc-7379e29198b6",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
      "unitRef": "U_shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails",
     "longName": "996065 - Disclosure - Stock Based Compensation - Company's share-settled obligation RSU grants (Details)",
     "shortName": "Stock Based Compensation - Company's share-settled obligation RSU grants (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "62",
     "firstAnchor": {
      "contextRef": "C_58e4f120-1efd-4401-8384-861db10be743",
      "name": "us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-2",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_58e4f120-1efd-4401-8384-861db10be743",
      "name": "us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-2",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
       "div",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
     "longName": "996075 - Disclosure - Commitments and Contingencies - Additional Information (Details)",
     "shortName": "Commitments and Contingencies - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "63",
     "firstAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "airg:AccrualWarrantyExpense",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_7535d394-21bf-4fbb-a848-92c4572718e4",
      "name": "airg:AccrualWarrantyExpense",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "span",
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureCommitmentsAndContingenciesScheduleOfLiabilityRecordedRelatedToSeveranceAndExitCostsDetails",
     "longName": "996085 - Disclosure - Commitments and Contingencies - Schedule of liability recorded related to severance and exit costs (Details)",
     "shortName": "Commitments and Contingencies - Schedule of liability recorded related to severance and exit costs (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "64",
     "firstAnchor": {
      "contextRef": "C_d41a7360-3930-46e7-bcff-eb8f951d01c8",
      "name": "airg:SeveranceAndExitCosts1",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "airg:ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock",
       "div",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc",
      "name": "airg:SeveranceAndExitCosts1",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "airg:ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock",
       "div",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "unique": true
     }
    },
    "R65": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails",
     "longName": "996095 - Disclosure - Concentration - Additional Information (Details)",
     "shortName": "Concentration - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "C_39b91c54-7d09-4705-804a-98be89f600ca",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "div",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_39b91c54-7d09-4705-804a-98be89f600ca",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "div",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails",
     "longName": "996105 - Disclosure - Concentration - Schedule of Concentration of Sales and Accounts Receivable (Details)",
     "shortName": "Concentration - Schedule of Concentration of Sales and Accounts Receivable (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "C_9a55883d-ffe6-40dd-aa81-0bcaed69b5a3",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "div",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_9a55883d-ffe6-40dd-aa81-0bcaed69b5a3",
      "name": "us-gaap:ConcentrationRiskPercentage1",
      "unitRef": "U_pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "2",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
       "div",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails",
     "longName": "996115 - Disclosure - Concentration - Schedule of Concentration of Fixed Assets by Geographical Regions (Details)",
     "shortName": "Concentration - Schedule of Concentration of Fixed Assets by Geographical Regions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
       "div",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "C_5aa804d9-ee90-4144-91af-33137e2cafaf",
      "name": "us-gaap:NoncurrentAssets",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock",
       "div",
       "us-gaap:ConcentrationRiskDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true,
      "unique": true
     }
    },
    "R68": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails",
     "longName": "996135 - Disclosure - Revenue - Summary of Disaggregated Revenue By Market Group (Details)",
     "shortName": "Revenue - Summary of Disaggregated Revenue By Market Group (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_033858d2-91ee-4dc8-8a1b-308848505b0a",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:DisaggregationOfRevenueTableTextBlock",
       "div",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "unique": true
     }
    },
    "R69": {
     "role": "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails",
     "longName": "996145 - Disclosure - Revenues - Additional Information (Details)",
     "shortName": "Revenues - Additional Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "span",
       "p",
       "td",
       "tr",
       "table",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc",
      "name": "us-gaap:ContractWithCustomerRightToRecoverProduct",
      "unitRef": "U_USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "us-gaap:ContractWithCustomerRightToRecoverProduct",
       "span",
       "p",
       "us-gaap:RevenueFromContractWithCustomerTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "airg-20240630.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounting Policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOther"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued Liabilities and Other",
        "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]",
        "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r57",
      "r61",
      "r921"
     ]
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Accounts Payable, Current, Total",
        "terseLabel": "Accounts payable",
        "label": "Accounts Payable, Current",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r700"
     ]
    },
    "us-gaap_AccountsReceivableMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade Accounts Receivable",
        "label": "Accounts Receivable [Member]",
        "documentation": "Due from customers or clients for goods or services that have been delivered or sold."
       }
      }
     },
     "auth_ref": [
      "r636"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade accounts receivable, net",
        "totalLabel": "Accounts Receivable, after Allowance for Credit Loss, Current, Total",
        "label": "Accounts Receivable, after Allowance for Credit Loss, Current",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r852"
     ]
    },
    "airg_AccrualOfPropertyAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "AccrualOfPropertyAndEquipment",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrual of property and equipment",
        "label": "Accrual of property and equipment",
        "terseLabel": "Accrual of property and equipment"
       }
      }
     },
     "auth_ref": []
    },
    "airg_AccrualWarrantyExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "AccrualWarrantyExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrual Warranty Expense",
        "label": "Accrual Warranty Expense",
        "terseLabel": "Warranty accrual expense"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedBonusesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedBonusesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Bonuses, Current",
        "terseLabel": "Accrued compensation",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for incentive compensation awarded to employees and directors or earned by them based on the terms of one or more relevant arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "airg_AccruedExpenseOfSeverancCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "AccruedExpenseOfSeverancCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCommitmentsAndContingenciesScheduleOfLiabilityRecordedRelatedToSeveranceAndExitCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Accrued expense of severanc costs",
        "label": "Accrued expense of severanc costs",
        "terseLabel": "Accrued to expense"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedIncomeTaxesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedIncomeTaxesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherSummaryOfAccruedLiabilitiesAndOtherDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued income taxes",
        "label": "Accrued Income Taxes, Current",
        "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": [
      "r57",
      "r115"
     ]
    },
    "us-gaap_AccruedLiabilitiesAndOtherLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedLiabilitiesAndOtherLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherSummaryOfAccruedLiabilitiesAndOtherDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Accrued liabilities and other",
        "terseLabel": "Accrued and other liabilities",
        "label": "Accrued Liabilities and Other Liabilities",
        "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedLiabilitiesAndOtherLiabilitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedLiabilitiesAndOtherLiabilitiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued Liabilities and Other Liabilities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_AccruedLiabilitiesAndOtherLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "AccruedLiabilitiesAndOtherLiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total accrued liabilities and other",
        "documentation": "Accrued liabilities and other liabilities, current.",
        "terseLabel": "Accrued liabilities and other",
        "label": "Accrued Liabilities And Other Liabilities Current"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedRentCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedRentCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current portion of deferred rent obligation under operating lease",
        "label": "Accrued Rent, Current",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for contractual rent under lease arrangements. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r57",
      "r654"
     ]
    },
    "us-gaap_AccruedRentNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedRentNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred rent obligation under operating lease",
        "label": "Accrued Rent, Noncurrent",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and due after one year (or beyond the operating cycle if longer) for contractual rent under lease arrangements."
       }
      }
     },
     "auth_ref": [
      "r61"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Ending Balance",
        "periodStartLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Beginning Balance",
        "totalLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment, Total",
        "negatedLabel": "Less accumulated depreciation",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r150",
      "r517"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated other comprehensive (loss) income",
        "totalLabel": "Accumulated Other Comprehensive Income (Loss), Net of Tax, Total",
        "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r15",
      "r73",
      "r158",
      "r513",
      "r535",
      "r536"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive (Loss) Income",
        "label": "AOCI Attributable to Parent [Member]",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r7",
      "r15",
      "r413",
      "r416",
      "r455",
      "r531",
      "r532",
      "r827",
      "r828",
      "r829",
      "r841",
      "r842",
      "r843",
      "r844"
     ]
    },
    "us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AcquiredFiniteLivedIntangibleAssetsLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Acquired Finite Lived Intangible Assets [Line Items]",
        "label": "Acquired Finite-Lived Intangible Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r250",
      "r251",
      "r252",
      "r254",
      "r649"
     ]
    },
    "ecd_Additional402vDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Additional402vDisclosureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional 402(v) Disclosure [Text Block]",
        "terseLabel": "Additional 402(v) Disclosure"
       }
      }
     },
     "auth_ref": [
      "r762"
     ]
    },
    "ecd_AdjToCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation Amount",
        "terseLabel": "Adjustment to Compensation, Amount"
       }
      }
     },
     "auth_ref": [
      "r775"
     ]
    },
    "ecd_AdjToCompAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToCompAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Compensation [Axis]",
        "terseLabel": "Adjustment to Compensation:"
       }
      }
     },
     "auth_ref": [
      "r775"
     ]
    },
    "ecd_AdjToNonPeoNeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToNonPeoNeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]",
        "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote"
       }
      }
     },
     "auth_ref": [
      "r775"
     ]
    },
    "ecd_AdjToPeoCompFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AdjToPeoCompFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To PEO Compensation, Footnote [Text Block]",
        "terseLabel": "Adjustment To PEO Compensation, Footnote"
       }
      }
     },
     "auth_ref": [
      "r775"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "APIC, Share-based Payment Arrangement, Increase for Cost Recognition, Total",
        "terseLabel": "Stock-based compensation",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r46",
      "r324"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]",
        "terseLabel": "Adjustments to reconcile net loss to net cash provided by (used in) operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "airg_AdvancedPaymentsFromContractManufacturers": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "AdvancedPaymentsFromContractManufacturers",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherSummaryOfAccruedLiabilitiesAndOtherDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advanced payments from contract manufacturer",
        "documentation": "Advanced payments from contract manufacturers",
        "label": "Advanced payments from contract manufacturer"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdvertisingCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdvertisingCostsPolicyTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Advertising Costs",
        "label": "Advertising Cost [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for advertising cost."
       }
      }
     },
     "auth_ref": [
      "r132"
     ]
    },
    "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r808"
     ]
    },
    "ecd_AggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Amount",
        "terseLabel": "Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r734",
      "r744",
      "r754",
      "r786"
     ]
    },
    "ecd_AggtErrCompNotYetDeterminedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtErrCompNotYetDeterminedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]",
        "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined"
       }
      }
     },
     "auth_ref": [
      "r737",
      "r747",
      "r757",
      "r789"
     ]
    },
    "ecd_AggtPnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AggtPnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Pension Adjustments Service Cost [Member]",
        "terseLabel": "Aggregate Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r809"
     ]
    },
    "ecd_AllAdjToCompMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllAdjToCompMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Adjustments to Compensation [Member]",
        "terseLabel": "All Adjustments to Compensation"
       }
      }
     },
     "auth_ref": [
      "r775"
     ]
    },
    "ecd_AllExecutiveCategoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllExecutiveCategoriesMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Executive Categories [Member]",
        "terseLabel": "All Executive Categories"
       }
      }
     },
     "auth_ref": [
      "r782"
     ]
    },
    "ecd_AllIndividualsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllIndividualsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Individuals [Member]",
        "terseLabel": "All Individuals"
       }
      }
     },
     "auth_ref": [
      "r738",
      "r748",
      "r758",
      "r782",
      "r790",
      "r794",
      "r802"
     ]
    },
    "ecd_AllTradingArrangementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AllTradingArrangementsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Trading Arrangements [Member]",
        "terseLabel": "All Trading Arrangements"
       }
      }
     },
     "auth_ref": [
      "r800"
     ]
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based payment arrangement, expense",
        "label": "Share-Based Payment Arrangement, Expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r356",
      "r365"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Amendment Flag",
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Amortization of intangible assets",
        "totalLabel": "Amortization of Intangible Assets",
        "terseLabel": "Amortization",
        "label": "Amortization of Intangible Assets",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. 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": [
      "r4",
      "r249",
      "r256",
      "r669"
     ]
    },
    "airg_AmortizationOfPrepaidAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "AmortizationOfPrepaidAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amortization of prepaid assets",
        "label": "Amortization of prepaid assets",
        "terseLabel": "Amortization of prepaid assets"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount",
        "terseLabel": "Common stock equivalent 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": [
      "r209"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Antidilutive Securities",
        "label": "Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Antidilutive Securities Excluded From Computation Of Earnings Per Share [Line Items]",
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AntidilutiveSecuritiesNameDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Antidilutive Securities, Name",
        "label": "Antidilutive Securities, Name [Domain]",
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "us-gaap_ArrangementsAndNonarrangementTransactionsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ArrangementsAndNonarrangementTransactionsMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative",
        "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": [
      "r404"
     ]
    },
    "srt_AsiaPacificMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "AsiaPacificMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asia Pacific (APAC)",
        "label": "Asia Pacific [Member]"
       }
      }
     },
     "auth_ref": [
      "r976",
      "r977",
      "r978",
      "r979"
     ]
    },
    "us-gaap_AssetBackedSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetBackedSecuritiesMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Asset-backed Securities",
        "label": "Asset-Backed Securities [Member]",
        "documentation": "Securities that are primarily serviced by the cash flows of a discrete pool of receivables or other financial assets for example, but not limited to, credit card receivables, car loans, recreational vehicle loans, and mobile home loans."
       }
      }
     },
     "auth_ref": [
      "r680",
      "r701",
      "r857",
      "r858",
      "r859"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Assets",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total assets",
        "label": "Assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r114",
      "r125",
      "r154",
      "r180",
      "r213",
      "r216",
      "r228",
      "r229",
      "r236",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r406",
      "r410",
      "r433",
      "r507",
      "r584",
      "r664",
      "r665",
      "r700",
      "r725",
      "r887",
      "r888",
      "r928"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Assets",
        "label": "Assets [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "Assets, Current",
        "documentation": "Amount of asset recognized for present right to economic benefit, classified as current."
       }
      }
     },
     "auth_ref": [
      "r145",
      "r161",
      "r180",
      "r236",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r406",
      "r410",
      "r433",
      "r700",
      "r887",
      "r888",
      "r928"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current assets:",
        "label": "Assets, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_AtTheMarketOfferingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "AtTheMarketOfferingMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "ATM [Member]",
        "label": "At The Market Offering [Member]",
        "documentation": "At The Market Offering [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_AtmOfferingsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "AtmOfferingsMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "ATM Offerings",
        "label": "ATM Offerings [Member]",
        "terseLabel": "ATM Offerings"
       }
      }
     },
     "auth_ref": []
    },
    "airg_AuthorizedForGrantsUnderTheInducementPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "AuthorizedForGrantsUnderTheInducementPlanMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Authorized for Grants Under the Inducement Plan [Member]",
        "terseLabel": "2021 Inducement Plan",
        "documentation": "Authorized for grants under the inducement plan.",
        "verboseLabel": "Authorized for Grants under the Inducement Plan"
       }
      }
     },
     "auth_ref": []
    },
    "airg_AutomotiveMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "AutomotiveMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Automotive",
        "label": "Automotive [Member]",
        "documentation": "Automotive member."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_AwardExrcPrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardExrcPrice",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Exercise Price",
        "terseLabel": "Exercise Price"
       }
      }
     },
     "auth_ref": [
      "r797"
     ]
    },
    "ecd_AwardGrantDateFairValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardGrantDateFairValue",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Grant Date Fair Value",
        "terseLabel": "Fair Value as of Grant Date"
       }
      }
     },
     "auth_ref": [
      "r798"
     ]
    },
    "ecd_AwardTmgDiscLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgDiscLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Disclosures [Line Items]",
        "terseLabel": "Award Timing Disclosures"
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "ecd_AwardTmgHowMnpiCnsdrdTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgHowMnpiCnsdrdTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing, How MNPI Considered [Text Block]",
        "terseLabel": "Award Timing, How MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "ecd_AwardTmgMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Method [Text Block]",
        "terseLabel": "Award Timing Method"
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "ecd_AwardTmgMnpiCnsdrdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiCnsdrdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Considered [Flag]",
        "terseLabel": "Award Timing MNPI Considered"
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "ecd_AwardTmgMnpiDiscTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgMnpiDiscTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing MNPI Disclosure [Text Block]",
        "terseLabel": "Award Timing MNPI Disclosure"
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "ecd_AwardTmgPredtrmndFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardTmgPredtrmndFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Timing Predetermined [Flag]",
        "terseLabel": "Award Timing Predetermined"
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "us-gaap_AwardTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AwardTypeAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Type [Axis]",
        "terseLabel": "Award Type",
        "documentation": "Information by type of award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r327",
      "r328",
      "r329",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355"
     ]
    },
    "ecd_AwardUndrlygSecuritiesAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardUndrlygSecuritiesAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Award Underlying Securities Amount",
        "terseLabel": "Underlying Securities"
       }
      }
     },
     "auth_ref": [
      "r796"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r795"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures"
       }
      }
     },
     "auth_ref": [
      "r794"
     ]
    },
    "ecd_AwardsCloseToMnpiDiscTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "AwardsCloseToMnpiDiscTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]",
        "terseLabel": "Awards Close in Time to MNPI Disclosures, Table"
       }
      }
     },
     "auth_ref": [
      "r794"
     ]
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basis of Presentation",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessAcquisitionAcquireeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionAcquireeDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinationsTables",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "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": [
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r399",
      "r683",
      "r684"
     ]
    },
    "us-gaap_BusinessAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinationsTables",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition [Axis]",
        "documentation": "Information by business combination or series of individually immaterial business combinations."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r48",
      "r250",
      "r251",
      "r252",
      "r253",
      "r254",
      "r399",
      "r683",
      "r684"
     ]
    },
    "us-gaap_BusinessAcquisitionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Acquisition [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": [
      "r399"
     ]
    },
    "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessAcquisitionProFormaInformationTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Unaudited Pro forma Revenue and Income (loss)",
        "label": "Business Acquisition, Pro Forma Information [Table Text Block]",
        "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate."
       }
      }
     },
     "auth_ref": [
      "r816",
      "r817"
     ]
    },
    "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability",
        "terseLabel": "Change in fair value of contingent consideration",
        "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement."
       }
      }
     },
     "auth_ref": [
      "r401",
      "r830"
     ]
    },
    "us-gaap_BusinessCombinationDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationDisclosureTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Combinations",
        "label": "Business Combination Disclosure [Text Block]",
        "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable)."
       }
      }
     },
     "auth_ref": [
      "r103",
      "r400"
     ]
    },
    "us-gaap_BusinessCombinationsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Business Combinations [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BusinessCombinationsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BusinessCombinationsPolicy",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Business Combinations",
        "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": [
      "r104",
      "r105",
      "r106",
      "r107"
     ]
    },
    "country_CN": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "CN",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "China",
        "label": "CHINA"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrual of property and equipment",
        "label": "Capital Expenditures Incurred but Not yet Paid",
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r20",
      "r21"
     ]
    },
    "us-gaap_CapitalLeaseObligationsIncurred": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CapitalLeaseObligationsIncurred",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leased liabilities recorded upon adoption of ASC 842",
        "label": "Lease Obligation Incurred",
        "documentation": "Amount of increase in lease obligation from new lease."
       }
      }
     },
     "auth_ref": [
      "r19",
      "r20"
     ]
    },
    "us-gaap_Cash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Cash",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Cash, Ending Balance",
        "periodStartLabel": "Cash, Beginning Balance",
        "terseLabel": "Cash",
        "label": "Cash",
        "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. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r130",
      "r511",
      "r551",
      "r579",
      "r700",
      "r725",
      "r819"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_CashAndCashEquivalentsAndShortTermInvestmentsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CashAndCashEquivalentsAndShortTermInvestmentsLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash and cash equivalents and short-term investments.",
        "terseLabel": "Cash And Cash Equivalents And Short Term Investments [Line Items]",
        "label": "Cash And Cash Equivalents And Short Term Investments [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_CashAndCashEquivalentsAndShortTermInvestmentsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CashAndCashEquivalentsAndShortTermInvestmentsTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash and cash equivalents and short-term investments.",
        "terseLabel": "Cash And Cash Equivalents And Short Term Investments [Table]",
        "label": "Cash And Cash Equivalents And Short Term Investments [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Cash and Cash Equivalents, at Carrying Value, Ending Balance",
        "periodStartLabel": "Cash and Cash Equivalents, at Carrying Value, Beginning Balance",
        "totalLabel": "Cash and Cash Equivalents, at Carrying Value, Total",
        "label": "Cash and Cash Equivalents, at Carrying Value",
        "terseLabel": "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": [
      "r17",
      "r148",
      "r652"
     ]
    },
    "airg_CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash and cash equivalents and Short term investments, Amortized cost",
        "terseLabel": "Cash and cash equivalents and Short term investments, Amortized costs",
        "documentation": "Cash And Cash Equivalents At Carrying Value Available And Available For Sale Debt Securities Amortized Cost Basis.",
        "label": "Cash And Cash Equivalents At Carrying Value Available And Available For Sale Debt Securities Amortized Cost Basis"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashCashEquivalentsAndShortTermInvestmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsAndShortTermInvestmentsTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash and Cash Equivalents",
        "label": "Cash, Cash Equivalents, and Short-Term Investments [Text Block]",
        "documentation": "The entire disclosure of the components of cash, cash equivalents, and short-term investments. Short-term investments may include current marketable securities."
       }
      }
     },
     "auth_ref": [
      "r856"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total cash, cash equivalents, and restricted cash",
        "periodEndLabel": "Cash, cash equivalents, and restricted cash; end of period",
        "periodStartLabel": "Cash, cash equivalents, and restricted cash; beginning of period",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations",
        "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": [
      "r17",
      "r83",
      "r177"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net increase (decrease) in cash, cash equivalents and restricted cash",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "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": [
      "r0",
      "r83"
     ]
    },
    "airg_CashEquivalentsAndShortTermInvestmentsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CashEquivalentsAndShortTermInvestmentsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Cash equivalents and short term investments policy.",
        "terseLabel": "Cash Equivalents and Short Term Investments",
        "label": "Cash Equivalents And Short Term Investments Policy Policy [Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cash Equivalents, at Carrying Value, Total",
        "terseLabel": "Cash equivalents",
        "label": "Cash Equivalents, at Carrying Value",
        "documentation": "Amount of 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": [
      "r819",
      "r941"
     ]
    },
    "ecd_ChangedPeerGroupFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChangedPeerGroupFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changed Peer Group, Footnote [Text Block]",
        "terseLabel": "Changed Peer Group, Footnote"
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "airg_ChinaIncludingHongKongAndTaiwanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ChinaIncludingHongKongAndTaiwanMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "China including Hong Kong and Taiwan",
        "label": "China Including Hong Kong and Taiwan [Member]",
        "documentation": "China Including Hong Kong and Taiwan [Member]."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]",
        "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r770"
     ]
    },
    "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]",
        "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r768"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "City Area Code",
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ClassOfStockDisclosuresAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Class of Stock Disclosures [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ClassOfStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ClassOfStockLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Class Of Stock [Line Items]",
        "label": "Class of Stock [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": [
      "r155",
      "r156",
      "r157",
      "r215",
      "r283",
      "r284",
      "r285",
      "r287",
      "r290",
      "r295",
      "r297",
      "r543",
      "r544",
      "r545",
      "r546",
      "r672",
      "r813",
      "r832"
     ]
    },
    "us-gaap_ClassOfTreasuryStockTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ClassOfTreasuryStockTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Class Of Treasury Stock [Table]",
        "label": "Class of Treasury Stock [Table]",
        "documentation": "Disclosure of information about treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r40",
      "r41",
      "r42"
     ]
    },
    "ecd_CoSelectedMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Amount",
        "terseLabel": "Company Selected Measure Amount"
       }
      }
     },
     "auth_ref": [
      "r774"
     ]
    },
    "ecd_CoSelectedMeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CoSelectedMeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Selected Measure Name",
        "terseLabel": "Company Selected Measure Name"
       }
      }
     },
     "auth_ref": [
      "r774"
     ]
    },
    "us-gaap_CommercialPaperNotIncludedWithCashAndCashEquivalentsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommercialPaperNotIncludedWithCashAndCashEquivalentsMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commercial Paper",
        "label": "Commercial Paper, Not Included with Cash and Cash Equivalents [Member]",
        "documentation": "Unsecured promissory note (generally negotiable) that provides institutions with short-term funds that is excluded from cash and cash equivalents."
       }
      }
     },
     "auth_ref": [
      "r893"
     ]
    },
    "airg_CommitmentAndContingenciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CommitmentAndContingenciesLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commitment and contingencies.",
        "terseLabel": "Commitment And Contingencies [Line Items]",
        "label": "Commitment And Contingencies [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_CommitmentAndContingenciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CommitmentAndContingenciesTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Commitment and contingencies.",
        "terseLabel": "Commitment And Contingencies [Table]",
        "label": "Commitment And Contingencies [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and contingencies (Note 13)",
        "label": "Commitments and Contingencies",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r118",
      "r510",
      "r570"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and Contingencies Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Commitments and Contingencies",
        "label": "Commitments and Contingencies Disclosure [Text Block]",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r265",
      "r266",
      "r637",
      "r879",
      "r884"
     ]
    },
    "airg_CommonStockAndAdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CommonStockAndAdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common Stock and Additional Paid-In Capital.",
        "terseLabel": "Common Stock and Additional Paid-in Capital",
        "label": "Common Stock And Additional Paid In Capital [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockCapitalSharesReservedForFutureIssuance": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockCapitalSharesReservedForFutureIssuance",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, reserved for future issuance",
        "label": "Common Stock, Capital Shares Reserved for Future Issuance",
        "documentation": "Aggregate number of common shares reserved for future issuance."
       }
      }
     },
     "auth_ref": [
      "r65"
     ]
    },
    "airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock Issued in connection with at-the-market offerings, net Share",
        "documentation": "Common Stock Issued In Connection With At-The-Market Offerings Share",
        "label": "Common Stock Issued In Connection With At-The-Market Offerings Share"
       }
      }
     },
     "auth_ref": []
    },
    "airg_CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common Stock Issued In Connection With At The Market Offerings Value",
        "label": "Common Stock Issued In Connection With At The Market Offerings Value",
        "terseLabel": "Common stock Issued in connection with at-the-market offerings, net Value"
       }
      }
     },
     "auth_ref": []
    },
    "airg_CommonStockIssuedThroughStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CommonStockIssuedThroughStockOptions",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock Issued through stock options",
        "label": "Common stock Issued through stock options",
        "documentation": "Common stock Issued through stock options"
       }
      }
     },
     "auth_ref": []
    },
    "airg_CommonStockIssuedThroughStockOptionsShare": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CommonStockIssuedThroughStockOptionsShare",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock Issued through stock options, Share",
        "label": "Common stock Issued through stock options Share",
        "documentation": "Common stock Issued through stock options Share"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Stock",
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r715",
      "r716",
      "r717",
      "r719",
      "r720",
      "r721",
      "r722",
      "r841",
      "r842",
      "r844",
      "r923",
      "r972",
      "r974"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, par value",
        "label": "Common Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r65"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, shares authorized",
        "label": "Common Stock, Shares Authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r571"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Common Stock, Shares, Issued, Total",
        "label": "Common Stock, Shares, Issued",
        "terseLabel": "common stock issue",
        "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": [
      "r65"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Common Stock, Shares, Outstanding, Ending Balance",
        "periodStartLabel": "Common Stock, Shares, Outstanding, Beginning Balance",
        "terseLabel": "Common stock, shares outstanding",
        "label": "Common Stock, Shares, Outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r65",
      "r571",
      "r590",
      "r974",
      "r975"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common Stock, Value, ATM Available for Issuance",
        "label": "Common Stock, Value, Issued",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r512",
      "r700"
     ]
    },
    "airg_CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Common stock withheld related to net share settlement of equity awards",
        "label": "Common stock withheld related to net share settlement of equity awards",
        "terseLabel": "Common stock withheld related to net share settlement of equity awards"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStocksIncludingAdditionalPaidInCapital": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStocksIncludingAdditionalPaidInCapital",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock and additional paid-in capital, par value $0.0001, 200,000 shares authorized; 11,842 shares issued and 11,301 shares outstanding at June 30, 2024; and 11,010 shares issued and 10,469 shares outstanding at December 31, 2023.",
        "periodEndLabel": "Common Stocks, Including Additional Paid in Capital, Ending Balance",
        "periodStartLabel": "Common Stocks, Including Additional Paid in Capital, Beginning Balance",
        "totalLabel": "Common Stocks, Including Additional Paid in Capital, Total",
        "label": "Common Stocks, Including Additional Paid in Capital",
        "documentation": "Amount of par value plus amounts in excess of par value or issuance value for common stock issued."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r66",
      "r99"
     ]
    },
    "airg_Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock withheld related to net share settlement of equity awards, Share",
        "documentation": "CommonStockWithheldRelatedToNetShareSettlementOfEquityAwardsShare",
        "label": "CommonStockWithheldRelatedToNetShareSettlementOfEquityAwardsShare"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Company Selected Measure"
       }
      }
     },
     "auth_ref": [
      "r779"
     ]
    },
    "ecd_CompActuallyPaidVsNetIncomeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsNetIncomeTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Net Income [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Net Income"
       }
      }
     },
     "auth_ref": [
      "r778"
     ]
    },
    "ecd_CompActuallyPaidVsOtherMeasureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsOtherMeasureTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Other Measure [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Other Measure"
       }
      }
     },
     "auth_ref": [
      "r780"
     ]
    },
    "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]",
        "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return"
       }
      }
     },
     "auth_ref": [
      "r777"
     ]
    },
    "us-gaap_CompensationRelatedCostsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CompensationRelatedCostsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Compensation Related Costs [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Comprehensive loss",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r163",
      "r165",
      "r170",
      "r503",
      "r523",
      "r524"
     ]
    },
    "airg_ComputersAndSoftwareMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ComputersAndSoftwareMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Computers And Software [Member]",
        "documentation": "Computers and software.",
        "terseLabel": "Computers and Software"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConcentrationRiskBenchmarkDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskBenchmarkDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk Benchmark",
        "label": "Concentration Risk Benchmark [Domain]",
        "documentation": "The denominator in a calculation of a disclosed concentration risk percentage."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r25",
      "r51",
      "r52",
      "r234",
      "r636"
     ]
    },
    "us-gaap_ConcentrationRiskByBenchmarkAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByBenchmarkAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk Benchmark",
        "label": "Concentration Risk Benchmark [Axis]",
        "documentation": "Information by benchmark of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r25",
      "r51",
      "r52",
      "r234",
      "r538",
      "r636"
     ]
    },
    "us-gaap_ConcentrationRiskByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskByTypeAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk Type",
        "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": [
      "r24",
      "r25",
      "r51",
      "r52",
      "r234",
      "r636",
      "r815"
     ]
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration Risk Disclosure [Text Block]",
        "terseLabel": "Concentration",
        "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": [
      "r88"
     ]
    },
    "us-gaap_ConcentrationRiskLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk [Line Items]",
        "label": "Concentration Risk [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": [
      "r636"
     ]
    },
    "us-gaap_ConcentrationRiskPercentage1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskPercentage1",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration risk percentage",
        "label": "Concentration Risk, Percentage",
        "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division."
       }
      }
     },
     "auth_ref": [
      "r24",
      "r25",
      "r51",
      "r52",
      "r234"
     ]
    },
    "us-gaap_ConcentrationRiskTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk [Table]",
        "label": "Concentration Risk [Table]",
        "documentation": "Disclosure of information about concentration risk. Includes, but is not limited to, percentage of concentration risk and benchmark serving as denominator in calculation of percentage of concentration risk."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r24",
      "r25",
      "r26",
      "r51",
      "r111",
      "r636"
     ]
    },
    "us-gaap_ConcentrationRiskTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskTypeDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Concentration Risk Type",
        "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": [
      "r24",
      "r25",
      "r51",
      "r52",
      "r234",
      "r636"
     ]
    },
    "airg_ConsignedInventoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ConsignedInventoriesMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Consigned inventories [Member]",
        "documentation": "Consigned inventories [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ConstructionInProgressMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConstructionInProgressMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Construction in Process",
        "label": "Construction in Progress [Member]",
        "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service."
       }
      }
     },
     "auth_ref": []
    },
    "airg_ConsumerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ConsumerMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Consumer",
        "label": "Consumer [Member]",
        "documentation": "Consumer [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_ContractLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ContractLiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherSummaryOfAccruedLiabilitiesAndOtherDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Carrying value as of the balance sheet date of contract liabilities.",
        "label": "Contract Liabilities Current",
        "terseLabel": "Contract liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerAssetNet",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract asset",
        "label": "Contract with Customer, Asset, after Allowance for Credit Loss",
        "totalLabel": "Contract with Customer, Asset, after Allowance for Credit Loss, Total",
        "documentation": "Amount, after allowance for credit loss, of 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": [
      "r299",
      "r301",
      "r312"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contract with Customer, Liability, Current",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r299",
      "r300",
      "r312"
     ]
    },
    "us-gaap_ContractWithCustomerRightToRecoverProduct": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerRightToRecoverProduct",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Contract with Customer, Right to Recover Product, Total",
        "label": "Contract with Customer, Right to Recover Product",
        "terseLabel": "Contract with Customer, Right to Recover Product",
        "documentation": "Amount of right to recover product from customer on settling refund liability."
       }
      }
     },
     "auth_ref": [
      "r892"
     ]
    },
    "us-gaap_ContractWithCustomerSalesChannelAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerSalesChannelAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDisaggregatedRevenueSummaryOfDisaggregatedRevenueBySalesChannelDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract with Customer, Sales Channel",
        "label": "Contract with Customer, Sales Channel [Axis]",
        "documentation": "Information by sales channel for delivery of good or service in contract with customer."
       }
      }
     },
     "auth_ref": [
      "r679",
      "r891"
     ]
    },
    "us-gaap_ContractWithCustomerSalesChannelDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractWithCustomerSalesChannelDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDisaggregatedRevenueSummaryOfDisaggregatedRevenueBySalesChannelDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract with Customer, Sales Channel",
        "label": "Contract with Customer, Sales Channel [Domain]",
        "documentation": "Sales channel for delivery of good or service in contract with customer. Includes, but is not limited to, directly to consumer and through intermediary."
       }
      }
     },
     "auth_ref": [
      "r679",
      "r891"
     ]
    },
    "us-gaap_CorporateDebtSecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CorporateDebtSecuritiesMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Corporate Debt Securities",
        "label": "Corporate Debt Securities [Member]",
        "documentation": "Debt securities issued by domestic or foreign corporate business, banks and other entities with a promise of repayment."
       }
      }
     },
     "auth_ref": [
      "r680",
      "r682",
      "r692",
      "r701",
      "r714",
      "r969"
     ]
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cost of Goods and Services Sold, Total",
        "label": "Cost of Goods and Services Sold",
        "terseLabel": "Shipping and other transportation costs",
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities."
       }
      }
     },
     "auth_ref": [
      "r76",
      "r77",
      "r469"
     ]
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Cost of Revenue, Total",
        "terseLabel": "Cost of goods sold",
        "label": "Cost of Revenue",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r180",
      "r236",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r433",
      "r664",
      "r887"
     ]
    },
    "us-gaap_CostOfSalesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfSalesMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cost of goods sold",
        "label": "Cost of Sales [Member]",
        "documentation": "Primary financial statement caption encompassing cost of sales."
       }
      }
     },
     "auth_ref": []
    },
    "airg_CovenantsToNonCompeteMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CovenantsToNonCompeteMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Covenants to non-compete",
        "label": "Covenants To Non-Compete [Member]",
        "documentation": "Covenants To Non-Compete [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Credit Facility",
        "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": [
      "r271",
      "r885"
     ]
    },
    "us-gaap_CreditFacilityDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CreditFacilityDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Credit Facility",
        "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": [
      "r271",
      "r885",
      "r886"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current Fiscal Year End Date",
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "airg_CustomerAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CustomerAMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer A.",
        "terseLabel": "Customer A",
        "label": "Customer A [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_CustomerBMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CustomerBMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer B [Member]",
        "documentation": "Customer B.",
        "terseLabel": "Customer B"
       }
      }
     },
     "auth_ref": []
    },
    "airg_CustomerCMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CustomerCMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer C.",
        "terseLabel": "Customer C",
        "label": "Customer C [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerConcentrationRiskMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerConcentrationRiskMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer Concentration Risk",
        "label": "Customer Concentration Risk [Member]",
        "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r234"
     ]
    },
    "airg_CustomerDMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CustomerDMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Customer D.",
        "terseLabel": "Customer D",
        "label": "Customer D [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_CustomerEMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "CustomerEMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Customer E [Member]",
        "terseLabel": "Customer E",
        "documentation": "Customer E."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CustomerRelationshipsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CustomerRelationshipsMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer relationships",
        "label": "Customer Relationships [Member]",
        "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r866",
      "r868",
      "r869",
      "r870",
      "r872",
      "r873",
      "r876",
      "r877"
     ]
    },
    "airg_DebtConversionConvertatedAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "DebtConversionConvertatedAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Conversion Convertated Amount",
        "documentation": "Debt Conversion Convertated Amount",
        "terseLabel": "Share-Settled Obligation Setteled"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basis spread on variable interest rate",
        "label": "Debt Instrument, Basis Spread on Variable Rate",
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Income Tax Expense (Benefit), Total",
        "terseLabel": "Deferred tax liability",
        "label": "Deferred Income Tax Expense (Benefit)",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r140",
      "r835"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Deferred Income Tax Liabilities, Net, Total",
        "terseLabel": "Deferred tax liability",
        "label": "Deferred Income Tax Liabilities, Net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r372",
      "r373",
      "r508"
     ]
    },
    "us-gaap_DeferredOfferingCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredOfferingCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Offering Costs",
        "documentation": "Specific incremental costs directly attributable to a proposed or actual offering of securities which are deferred at the end of the reporting period."
       }
      }
     },
     "auth_ref": [
      "r861"
     ]
    },
    "airg_DeferredPurchasePriceLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "DeferredPurchasePriceLiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Deferred purchase price liabilities current",
        "label": "Deferred purchase price liabilities current",
        "terseLabel": "Deferred purchase price liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "airg_DeferredRevenueRecognitionPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "DeferredRevenueRecognitionPeriod",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred revenue recognition period",
        "label": "Deferred Revenue Recognition Period",
        "documentation": "Deferred revenue recognition period"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxAssetsLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsLiabilitiesNet",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net deferred tax assets",
        "label": "Deferred Tax Assets, Net",
        "totalLabel": "Deferred Tax Assets, Net, Total",
        "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": [
      "r922"
     ]
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Depreciation",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Depreciation, Total",
        "terseLabel": "Depreciation",
        "label": "Depreciation",
        "verboseLabel": "Depreciation expense",
        "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": [
      "r4",
      "r31"
     ]
    },
    "airg_DescriptionOfBusinessPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "DescriptionOfBusinessPolicyTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Description of business.",
        "label": "Description Of Business Policy [Text Block]",
        "terseLabel": "Description of Business"
       }
      }
     },
     "auth_ref": []
    },
    "airg_DescriptionOfPerformanceStockUnit": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "DescriptionOfPerformanceStockUnit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Description of performance stock unit",
        "label": "Description of performance stock unit",
        "documentation": "Description of performance stock unit"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DevelopedTechnologyRightsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DevelopedTechnologyRightsMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Developed technologies",
        "label": "Developed Technology Rights [Member]",
        "documentation": "Rights to developed technology, which can include the right to develop, use, market, sell, or offer for sale products, compounds, or intellectual property."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r866",
      "r868",
      "r869",
      "r870",
      "r872",
      "r873",
      "r876",
      "r877"
     ]
    },
    "us-gaap_DisaggregationOfRevenueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDisaggregatedRevenueSummaryOfDisaggregatedRevenueBySalesChannelDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disaggregation Of Revenue [Line Items]",
        "label": "Disaggregation of Revenue [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r311",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDisaggregatedRevenueSummaryOfDisaggregatedRevenueBySalesChannelDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disaggregation Of Revenue [Table]",
        "label": "Disaggregation of Revenue [Table]",
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r311",
      "r673",
      "r674",
      "r675",
      "r676",
      "r677",
      "r678",
      "r679"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Disaggregated Revenue",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r891"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Based Compensation",
        "label": "Share-Based Payment Arrangement [Text Block]",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r322",
      "r326",
      "r357",
      "r358",
      "r360",
      "r686"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Document Fiscal Period Focus",
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Fiscal Year Focus",
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Period End Date",
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Quarterly Report",
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r729"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Transition Report",
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r761"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Document Type",
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DomesticLineOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DomesticLineOfCreditMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Choice Financial Group (Choice)",
        "label": "Domestic Line of Credit [Member]",
        "documentation": "Contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars, inside the reporting entity's home country."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]",
        "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year"
       }
      }
     },
     "auth_ref": [
      "r772"
     ]
    },
    "us-gaap_EMEAMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EMEAMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Europe, Middle East and Africa (EMEA)",
        "label": "EMEA [Member]",
        "documentation": "Regions of Europe, Middle East and Africa."
       }
      }
     },
     "auth_ref": [
      "r976",
      "r977",
      "r978",
      "r979"
     ]
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net loss per share:",
        "label": "Earnings Per Share [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfComputationOfNetLossPerShareDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Earnings Per Share, Basic, Total",
        "terseLabel": "Basic",
        "label": "Earnings Per Share, Basic",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r171",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r202",
      "r204",
      "r206",
      "r207",
      "r208",
      "r212",
      "r397",
      "r403",
      "r420",
      "r421",
      "r504",
      "r525",
      "r659"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfComputationOfNetLossPerShareDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Earnings Per Share, Diluted, Total",
        "terseLabel": "Diluted",
        "label": "Earnings Per Share, Diluted",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r171",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r197",
      "r204",
      "r206",
      "r207",
      "r208",
      "r212",
      "r397",
      "r403",
      "r420",
      "r421",
      "r504",
      "r525",
      "r659"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share [Text Block]",
        "terseLabel": "Net Loss Per Share",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r201",
      "r209",
      "r210",
      "r211"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations",
        "terseLabel": "Effect of exchange rate changes on cash, cash equivalents and restricted 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. Excludes amounts 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": [
      "r434"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Effective Income Tax Rate Reconciliation, Percent, Total",
        "terseLabel": "Effective income tax rate",
        "label": "Effective Income Tax Rate Reconciliation, Percent",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r375",
      "r689"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureIncomeTaxesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent",
        "terseLabel": "U.S. federal statutory tax rate",
        "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)."
       }
      }
     },
     "auth_ref": [
      "r181",
      "r375",
      "r388",
      "r689"
     ]
    },
    "us-gaap_EmployeeBenefitsAndShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeBenefitsAndShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationExpenseParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based compensation expense",
        "label": "Employee Benefits and Share-Based Compensation",
        "documentation": "Amount of expense for employee benefit and equity-based compensation."
       }
      }
     },
     "auth_ref": []
    },
    "airg_EmployeeRetentionCreditRefunds": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "EmployeeRetentionCreditRefunds",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Employee Retention Credit Refunds",
        "label": "Employee Retention Credit Refunds",
        "terseLabel": "Employee retention credit refunds"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total unrecognized compensation cost, period for recognition",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition",
        "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r359"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total unrecognized compensation cost",
        "label": "Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r920"
     ]
    },
    "us-gaap_EmployeeStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee Stock Purchase Plan",
        "label": "Employee Stock [Member]",
        "documentation": "An Employee Stock Purchase Plan is a tax-efficient means by which employees of a corporation can purchase the corporation's stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeStockOptionMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeStockOptionMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Stock Option [Member]",
        "terseLabel": "Employee Stock Option",
        "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": []
    },
    "airg_EmployeeStockPurchasePlanSharesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "EmployeeStockPurchasePlanSharesMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Employee Stock Purchase Plan Shares",
        "documentation": "Employee Stock Purchase Plan shares [Member]",
        "label": "Employee Stock Purchase Plan shares [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_EnterpriseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "EnterpriseMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Enterprise",
        "label": "Enterprise [Member]",
        "documentation": "Enterprise member."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Entity Address, Address Line One",
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Entity Address, Address Line Two",
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, City or Town",
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, Postal Zip Code",
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Address, State or Province",
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Central Index Key",
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Entity Common Stock, Shares Outstanding",
        "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/2024",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Current Reporting Status",
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Emerging Growth Company",
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Ex Transition Period",
        "label": "Entity Ex Transition Period",
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards."
       }
      }
     },
     "auth_ref": [
      "r812"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity File Number",
        "label": "Securities Act 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/2024",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Filer Category",
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Incorporation, State or Country Code",
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Interactive Data Current",
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r811"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Registrant Name",
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Shell Company",
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Small Business",
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Entity Tax Identification Number",
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r727"
     ]
    },
    "ecd_EqtyAwrdsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Footnote [Text Block]",
        "terseLabel": "Equity Awards Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r766"
     ]
    },
    "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]",
        "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r807"
     ]
    },
    "ecd_EqtyAwrdsAdjsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsAdjsMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Awards Adjustments [Member]",
        "terseLabel": "Equity Awards Adjustments"
       }
      }
     },
     "auth_ref": [
      "r807"
     ]
    },
    "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]",
        "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table"
       }
      }
     },
     "auth_ref": [
      "r807"
     ]
    },
    "us-gaap_EquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityClassOfTreasuryStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityClassOfTreasuryStockLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Class Of Treasury Stock [Line Items]",
        "label": "Equity, Class of Treasury Stock [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Equity Component",
        "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": [
      "r8",
      "r143",
      "r167",
      "r168",
      "r169",
      "r187",
      "r188",
      "r189",
      "r191",
      "r196",
      "r198",
      "r200",
      "r214",
      "r237",
      "r238",
      "r261",
      "r298",
      "r386",
      "r387",
      "r394",
      "r395",
      "r396",
      "r398",
      "r402",
      "r403",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r419",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r442",
      "r444",
      "r455",
      "r522",
      "r531",
      "r532",
      "r533",
      "r550",
      "r610"
     ]
    },
    "ecd_EquityValuationAssumptionDifferenceFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "EquityValuationAssumptionDifferenceFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Valuation Assumption Difference, Footnote [Text Block]",
        "terseLabel": "Equity Valuation Assumption Difference, Footnote"
       }
      }
     },
     "auth_ref": [
      "r776"
     ]
    },
    "ecd_ErrCompAnalysisTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompAnalysisTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneous Compensation Analysis [Text Block]",
        "terseLabel": "Erroneous Compensation Analysis"
       }
      }
     },
     "auth_ref": [
      "r734",
      "r744",
      "r754",
      "r786"
     ]
    },
    "ecd_ErrCompRecoveryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ErrCompRecoveryTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Erroneously Awarded Compensation Recovery [Table]",
        "terseLabel": "Erroneously Awarded Compensation Recovery"
       }
      }
     },
     "auth_ref": [
      "r731",
      "r741",
      "r751",
      "r783"
     ]
    },
    "ecd_ExecutiveCategoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ExecutiveCategoryAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Executive Category [Axis]",
        "terseLabel": "Executive Category:"
       }
      }
     },
     "auth_ref": [
      "r782"
     ]
    },
    "us-gaap_FairValueByFairValueHierarchyLevelAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueByFairValueHierarchyLevelAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Hierarchy and NAV",
        "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": [
      "r281",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r429",
      "r430",
      "r432",
      "r459",
      "r460",
      "r461",
      "r670",
      "r671",
      "r680",
      "r681",
      "r682",
      "r692",
      "r695"
     ]
    },
    "us-gaap_FairValueInputsLevel1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueInputsLevel1Member",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Level 1",
        "label": "Fair Value, Inputs, Level 1 [Member]",
        "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date."
       }
      }
     },
     "auth_ref": [
      "r281",
      "r315",
      "r320",
      "r423",
      "r430",
      "r459",
      "r680",
      "r681",
      "r682",
      "r692"
     ]
    },
    "us-gaap_FairValueInputsLevel2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueInputsLevel2Member",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Level 2",
        "label": "Fair Value, Inputs, Level 2 [Member]",
        "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets."
       }
      }
     },
     "auth_ref": [
      "r281",
      "r315",
      "r320",
      "r423",
      "r424",
      "r430",
      "r460",
      "r670",
      "r671",
      "r680",
      "r681",
      "r682",
      "r692"
     ]
    },
    "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueMeasurementsFairValueHierarchyDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Hierarchy and NAV",
        "label": "Fair Value Hierarchy and NAV [Domain]",
        "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value."
       }
      }
     },
     "auth_ref": [
      "r281",
      "r315",
      "r316",
      "r317",
      "r318",
      "r319",
      "r320",
      "r422",
      "r423",
      "r424",
      "r425",
      "r426",
      "r429",
      "r430",
      "r432",
      "r459",
      "r460",
      "r461",
      "r670",
      "r671",
      "r680",
      "r681",
      "r682",
      "r692",
      "r695"
     ]
    },
    "us-gaap_FairValueOfFinancialInstrumentsPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FairValueOfFinancialInstrumentsPolicy",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fair Value Measurements",
        "label": "Fair Value of Financial Instruments, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for determining the fair value of financial instruments."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "airg_FinishedGoodsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "FinishedGoodsMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finished Goods [Member]",
        "documentation": "Finished Goods [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedAndIndefiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of identifiable intangible assets and related expected lives for finite-lived intangible assets",
        "label": "Finite-Lived and Indefinite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]",
        "documentation": "Tabular disclosure of finite-lived and indefinite-lived intangible assets acquired as part of a business combination."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "terseLabel": "Weighted average amortization period (in years)",
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated amortization",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r152",
      "r242",
      "r255",
      "r669"
     ]
    },
    "airg_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFour",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillScheduleOfEstimatedAnnualAmortizationOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Finite lived intangible assets amortization expense after year four.",
        "terseLabel": "Thereafter",
        "label": "Finite Lived Intangible Assets Amortization Expense After Year Four"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillScheduleOfEstimatedAnnualAmortizationOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "terseLabel": "2025",
        "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": [
      "r257",
      "r649",
      "r669"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillScheduleOfEstimatedAnnualAmortizationOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024 (remaining six months)",
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r980"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillScheduleOfEstimatedAnnualAmortizationOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four",
        "terseLabel": "Thereafter",
        "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": [
      "r257",
      "r649",
      "r669"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillScheduleOfEstimatedAnnualAmortizationOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three",
        "terseLabel": "2027",
        "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": [
      "r257",
      "r649",
      "r669"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillScheduleOfEstimatedAnnualAmortizationOfIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "terseLabel": "2026",
        "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": [
      "r257",
      "r649",
      "r669"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finite-Lived Intangible Assets by Major Class",
        "label": "Finite-Lived Intangible Assets by Major Class [Axis]",
        "documentation": "Information by major type or class of finite-lived intangible assets."
       }
      }
     },
     "auth_ref": [
      "r248",
      "r250",
      "r251",
      "r252",
      "r254",
      "r255",
      "r258",
      "r259",
      "r470",
      "r471",
      "r649"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Finite-Lived Intangible Assets, Gross, Total",
        "terseLabel": "Gross carrying amount",
        "label": "Finite-Lived Intangible Assets, Gross",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r242",
      "r255",
      "r471",
      "r669"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Finite-Lived Intangible Assets, Major Class Name",
        "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": [
      "r248",
      "r250",
      "r251",
      "r252",
      "r254",
      "r255",
      "r258",
      "r259",
      "r649"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillScheduleOfEstimatedAnnualAmortizationOfIntangibleAssetsDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total",
        "periodEndLabel": "Finite-Lived Intangible Assets, Net, Ending Balance",
        "periodStartLabel": "Finite-Lived Intangible Assets, Net, Beginning Balance",
        "label": "Finite-Lived Intangible Assets, Net",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r470",
      "r873"
     ]
    },
    "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount",
        "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount"
       }
      }
     },
     "auth_ref": [
      "r738",
      "r748",
      "r758",
      "r790"
     ]
    },
    "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Expense of Enforcement, Amount",
        "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount"
       }
      }
     },
     "auth_ref": [
      "r738",
      "r748",
      "r758",
      "r790"
     ]
    },
    "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery due to Violation of Home Country Law, Amount",
        "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount"
       }
      }
     },
     "auth_ref": [
      "r738",
      "r748",
      "r758",
      "r790"
     ]
    },
    "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Explanation of Impracticability [Text Block]",
        "terseLabel": "Forgone Recovery, Explanation of Impracticability"
       }
      }
     },
     "auth_ref": [
      "r738",
      "r748",
      "r758",
      "r790"
     ]
    },
    "ecd_ForgoneRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "ForgoneRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forgone Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r738",
      "r748",
      "r758",
      "r790"
     ]
    },
    "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]",
        "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year"
       }
      }
     },
     "auth_ref": [
      "r771"
     ]
    },
    "us-gaap_FurnitureAndFixturesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FurnitureAndFixturesMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Furniture, Fixtures, and Equipment",
        "label": "Furniture and Fixtures [Member]",
        "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GainLossOnSaleOfPropertyPlantEquipment",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Loss on disposal of property and equipment",
        "terseLabel": "Loss on disposal of property and equipment",
        "label": "Gain (Loss) on Disposition of Property Plant Equipment",
        "totalLabel": "Gain (Loss) on Disposition of Property Plant Equipment, Total",
        "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": [
      "r4"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "General and Administrative Expense, Total",
        "terseLabel": "General and administrative",
        "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": [
      "r80",
      "r594"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GeneralAndAdministrativeExpenseMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "General and administrative",
        "label": "General and Administrative Expense [Member]",
        "documentation": "Primary financial statement caption encompassing general and administrative expense."
       }
      }
     },
     "auth_ref": [
      "r80"
     ]
    },
    "airg_GoodsReceivedNotInvoiced": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "GoodsReceivedNotInvoiced",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherSummaryOfAccruedLiabilitiesAndOtherDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goods Received Not Invoiced",
        "label": "Goods Received not Invoiced",
        "documentation": "Goods Received not Invoiced"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Goodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Goodwill, Ending Balance",
        "periodStartLabel": "Goodwill, Beginning Balance",
        "totalLabel": "Goodwill, Total",
        "terseLabel": "Goodwill",
        "label": "Goodwill",
        "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r151",
      "r244",
      "r502",
      "r665",
      "r668",
      "r693",
      "r700",
      "r863",
      "r864"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwill"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible Assets and Goodwill",
        "label": "Goodwill and Intangible Assets Disclosure [Text Block]",
        "documentation": "The entire disclosure for goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r862",
      "r865"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsGoodwillPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsGoodwillPolicy",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Goodwill",
        "label": "Goodwill and Intangible Assets, Goodwill, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for goodwill. This accounting policy also may address how an entity assesses and measures impairment of goodwill, how reporting units are determined, how goodwill is allocated to such units, and how the fair values of the reporting units are determined."
       }
      }
     },
     "auth_ref": [
      "r243",
      "r247",
      "r668"
     ]
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillImpairmentLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill, Impairment Loss",
        "terseLabel": "Goodwill impairment losses",
        "documentation": "Amount of impairment loss from asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r245",
      "r246",
      "r247",
      "r668",
      "r693"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GrossProfit",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r78",
      "r124",
      "r180",
      "r236",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r433",
      "r661",
      "r664",
      "r846",
      "r848",
      "r849",
      "r850",
      "r851",
      "r887"
     ]
    },
    "us-gaap_ImpairmentOfIntangibleAssetsExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentOfIntangibleAssetsExcludingGoodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Impairment of intangible assets",
        "label": "Impairment of Intangible Assets (Excluding Goodwill)",
        "totalLabel": "Impairment of Intangible Assets (Excluding Goodwill), Total",
        "documentation": "The amount of impairment loss recognized in the period resulting from the write-down of the carrying amount of an intangible asset (excluding goodwill) to fair value."
       }
      }
     },
     "auth_ref": [
      "r4",
      "r249",
      "r260"
     ]
    },
    "us-gaap_InProcessResearchAndDevelopmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InProcessResearchAndDevelopmentMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "In Process R&amp;D",
        "label": "In Process Research and Development [Member]",
        "verboseLabel": "In-process research and development",
        "documentation": "In process investigation of new knowledge useful in developing new product or service or new process or technique or improvement to existing product or process, and translation of knowledge into plan or design for new product or process or for improvement to existing product or process."
       }
      }
     },
     "auth_ref": [
      "r866",
      "r868",
      "r869",
      "r870",
      "r871",
      "r872",
      "r873",
      "r875",
      "r876",
      "r877"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Loss before income taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r75",
      "r120",
      "r124",
      "r505",
      "r519",
      "r661",
      "r664",
      "r846",
      "r848",
      "r849",
      "r850",
      "r851"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Statement [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeStatementLocationAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementLocationAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Income Location, Balance [Axis]",
        "documentation": "Information by location in statement of income where disaggregated amount has been reported."
       }
      }
     },
     "auth_ref": [
      "r262",
      "r263",
      "r264",
      "r427",
      "r428",
      "r431",
      "r528",
      "r530",
      "r595",
      "r649",
      "r694",
      "r943"
     ]
    },
    "us-gaap_IncomeStatementLocationDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementLocationDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement of Income Location, Balance [Domain]",
        "documentation": "Location in statement of income where disaggregated amount has been reported."
       }
      }
     },
     "auth_ref": [
      "r263",
      "r264",
      "r427",
      "r428",
      "r431",
      "r528",
      "r530",
      "r595",
      "r649",
      "r694",
      "r943"
     ]
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureIncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income Taxes",
        "label": "Income Tax Disclosure [Text Block]",
        "documentation": "The entire disclosure for income tax."
       }
      }
     },
     "auth_ref": [
      "r181",
      "r369",
      "r375",
      "r376",
      "r377",
      "r378",
      "r379",
      "r382",
      "r389",
      "r391",
      "r392",
      "r393",
      "r548",
      "r689"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income tax expense (benefit)",
        "totalLabel": "Income Tax Expense (Benefit), Total",
        "label": "Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r129",
      "r141",
      "r199",
      "r200",
      "r213",
      "r219",
      "r229",
      "r374",
      "r375",
      "r390",
      "r526",
      "r689"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax, Policy [Policy Text Block]",
        "terseLabel": "Income Taxes",
        "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": [
      "r166",
      "r370",
      "r371",
      "r379",
      "r380",
      "r381",
      "r385",
      "r542"
     ]
    },
    "us-gaap_IncomeTaxRefundsDiscontinuedOperations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxRefundsDiscontinuedOperations",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Tax Refunds, Discontinued Operations",
        "terseLabel": "Income taxes refunded",
        "documentation": "The amount of cash received during the period as refunds for the overpayment of taxes from discontinued operations."
       }
      }
     },
     "auth_ref": [
      "r83"
     ]
    },
    "us-gaap_IncomeTaxesPaidNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxesPaidNet",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Income Taxes Paid, Net, Total",
        "label": "Income Taxes Paid, Net",
        "terseLabel": "Income taxes paid",
        "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r176",
      "r383",
      "r384"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (Decrease) in Accounts Payable, Total",
        "terseLabel": "Accounts payable",
        "label": "Increase (Decrease) in Accounts Payable",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Trade accounts receivable",
        "label": "Increase (Decrease) in Accounts Receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued liabilities and other",
        "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities",
        "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other."
       }
      }
     },
     "auth_ref": [
      "r830"
     ]
    },
    "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accrued compensation",
        "totalLabel": "Increase (Decrease) in Employee Related Liabilities, Total",
        "terseLabel": "Accrued bonus",
        "label": "Increase (Decrease) in Employee Related Liabilities",
        "negatedLabel": "Accrued compensation",
        "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": [
      "r3"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Increase (Decrease) in Inventories, Total",
        "label": "Increase (Decrease) in Inventories",
        "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": [
      "r3"
     ]
    },
    "airg_IncreaseDecreaseInLeaseLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "IncreaseDecreaseInLeaseLiabilities",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease liabilities",
        "label": "Increase Decrease In Lease Liabilities",
        "documentation": "Increase Decrease In Lease Liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Changes in operating assets and liabilities:",
        "label": "Increase (Decrease) in Operating Capital [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherCurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOtherCurrentAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other assets",
        "label": "Increase (Decrease) in Other Current Assets",
        "negatedLabel": "Other assets",
        "documentation": "Amount of increase (decrease) in current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r830"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid expenses and other current assets",
        "totalLabel": "Increase (Decrease) in Prepaid Expense and Other Assets, Total",
        "label": "Increase (Decrease) in Prepaid Expense and Other Assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "ecd_IndividualAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "IndividualAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure",
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure",
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Individual [Axis]",
        "terseLabel": "Individual:"
       }
      }
     },
     "auth_ref": [
      "r738",
      "r748",
      "r758",
      "r782",
      "r790",
      "r794",
      "r802"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]",
        "terseLabel": "Insider Trading Arrangements:"
       }
      }
     },
     "auth_ref": [
      "r800"
     ]
    },
    "ecd_InsiderTradingPoliciesProcLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTradingPoliciesProcLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures [Line Items]",
        "terseLabel": "Insider Trading Policies and Procedures:"
       }
      }
     },
     "auth_ref": [
      "r730",
      "r806"
     ]
    },
    "ecd_InsiderTrdPoliciesProcAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Adopted [Flag]",
        "terseLabel": "Insider Trading Policies and Procedures Adopted"
       }
      }
     },
     "auth_ref": [
      "r730",
      "r806"
     ]
    },
    "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]",
        "terseLabel": "Insider Trading Policies and Procedures Not Adopted"
       }
      }
     },
     "auth_ref": [
      "r730",
      "r806"
     ]
    },
    "us-gaap_IntangibleAssetsFiniteLivedPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsFiniteLivedPolicy",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets, Finite-Lived, Policy [Policy Text Block]",
        "terseLabel": "Other Intangible Assets",
        "documentation": "Disclosure of accounting policy for finite-lived intangible assets. This accounting policy also might address: (1) the amortization method used; (2) the useful lives of such assets; and (3) how the entity assesses and measures impairment of such assets."
       }
      }
     },
     "auth_ref": [
      "r466",
      "r467",
      "r468",
      "r470",
      "r655",
      "r865"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Intangible Assets, Net (Excluding Goodwill), Total",
        "terseLabel": "Intangible assets, net",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r248",
      "r873",
      "r875"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwillAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsNetExcludingGoodwillAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets, Net (Excluding Goodwill) [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoriesMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories [Member]",
        "documentation": "Tangible personal property held for sale in the ordinary course of business, or in process of, or to be consumed in, production for sale."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryCurrentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryCurrentTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Current [Table]",
        "documentation": "Disclosure of information about inventory expected to be sold or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventory1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventory",
        "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": [
      "r239"
     ]
    },
    "us-gaap_InventoryFinishedGoods": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryFinishedGoods",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Inventory, Finished Goods, Gross, Total",
        "label": "Inventory, Finished Goods, Gross",
        "terseLabel": "Finished good",
        "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r823"
     ]
    },
    "us-gaap_InventoryLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "label": "Inventory [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNet",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Total Consigned Inventory",
        "label": "Inventory, Net",
        "totalLabel": "Total Inventory",
        "terseLabel": "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": [
      "r160",
      "r653",
      "r700"
     ]
    },
    "us-gaap_InventoryNetAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNetAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Net [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "verboseLabel": "Inventory",
        "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": [
      "r131",
      "r147",
      "r159",
      "r239",
      "r240",
      "r241",
      "r465",
      "r656"
     ]
    },
    "us-gaap_InventoryRawMaterialsAndSupplies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryRawMaterialsAndSupplies",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Inventory, Raw Materials and Supplies, Gross, Total",
        "label": "Inventory, Raw Materials and Supplies, Gross",
        "terseLabel": "Raw materials",
        "documentation": "Gross amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed."
       }
      }
     },
     "auth_ref": [
      "r825"
     ]
    },
    "us-gaap_InvestmentTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentTypeAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Investment Type",
        "label": "Investment Type [Axis]",
        "documentation": "Information by type of investments."
       }
      }
     },
     "auth_ref": [
      "r553",
      "r555",
      "r556",
      "r558",
      "r560",
      "r615",
      "r617",
      "r619",
      "r622",
      "r623",
      "r624",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r717"
     ]
    },
    "us-gaap_InvestmentTypeCategorizationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentTypeCategorizationMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Investments",
        "label": "Investments [Domain]",
        "documentation": "Asset obtained to generate income or appreciate in value."
       }
      }
     },
     "auth_ref": [
      "r553",
      "r555",
      "r556",
      "r558",
      "r560",
      "r615",
      "r617",
      "r619",
      "r622",
      "r623",
      "r624",
      "r626",
      "r627",
      "r628",
      "r629",
      "r630",
      "r717"
     ]
    },
    "us-gaap_InvestmentsDebtAndEquitySecuritiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InvestmentsDebtAndEquitySecuritiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Investments, Debt and Equity Securities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseExpirationDate1": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseExpirationDate1",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease expiration date",
        "label": "Lease Expiration Date",
        "documentation": "Date which lease or group of leases is set to expire, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": []
    },
    "airg_LeaseTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "LeaseTerminationDate",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Lease Termination Date",
        "label": "Lease Termination Date",
        "terseLabel": "Lease termination date"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LeaseholdImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeaseholdImprovementsMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leasehold Improvements",
        "label": "Leasehold Improvements [Member]",
        "documentation": "Additions or improvements to assets held under a lease arrangement."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r454"
     ]
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "totalLabel": "Total minimum payments",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r453"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "terseLabel": "2025",
        "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": [
      "r453"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2026",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r453"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "2024 (remaining six months)",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r926"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Less imputed interest",
        "terseLabel": "Less imputed interest",
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r453"
     ]
    },
    "us-gaap_LesseeOperatingLeaseOptionToExtend": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseOptionToExtend",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease option to extend",
        "label": "Lessee, Operating Lease, Option to Extend",
        "documentation": "Description of terms and conditions of option to extend lessee's operating lease. Includes, but is not limited to, information about option recognized as part of right-of-use asset and lease liability."
       }
      }
     },
     "auth_ref": [
      "r447"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Leases [Text Block]",
        "terseLabel": "Leases",
        "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": [
      "r443"
     ]
    },
    "us-gaap_LessorOperatingLeaseTermOfContract": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LessorOperatingLeaseTermOfContract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Operating lease term of contract",
        "label": "Lessor, Operating Lease, Term of Contract",
        "documentation": "Term of lessor's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r927"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Liabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities",
        "label": "Liabilities",
        "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r56",
      "r57",
      "r58",
      "r60",
      "r61",
      "r62",
      "r63",
      "r180",
      "r236",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r407",
      "r410",
      "r411",
      "r433",
      "r569",
      "r660",
      "r725",
      "r887",
      "r928",
      "r929"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities and stockholders\u2019 equity",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r119",
      "r515",
      "r700",
      "r834",
      "r860",
      "r925"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Liabilities and stockholders\u2019 equity",
        "label": "Liabilities and Equity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current liabilities",
        "label": "Liabilities, Current",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r58",
      "r146",
      "r180",
      "r236",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r407",
      "r410",
      "r411",
      "r433",
      "r700",
      "r887",
      "r928",
      "r929"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Current liabilities:",
        "label": "Liabilities, Current [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCredit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCredit",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Long-term Line of Credit, Total",
        "terseLabel": "Line of credit",
        "label": "Long-Term Line of Credit",
        "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r117",
      "r939"
     ]
    },
    "airg_LineOfCreditFacilityAggregateEligibleAccountsPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "LineOfCreditFacilityAggregateEligibleAccountsPercentage",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit Percentage of maximum advances of aggregate face amount of certain eligible receivables",
        "label": "Line Of Credit Facility Aggregate Eligible Accounts Percentage",
        "documentation": "Line Of Credit Facility Aggregate Eligible Accounts Percentage"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "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": [
      "r55",
      "r59",
      "r833",
      "r885",
      "r886"
     ]
    },
    "airg_LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "LineOfCreditFacilityBorrowingBaseLimitationPercentageOfEligibleReceivables",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line of credit facility borrowing base limitation percentage of eligible receivables.",
        "terseLabel": "Line of credit facility borrowing base limitation percentage of eligible receivables",
        "label": "Line Of Credit Facility Borrowing Base Limitation Percentage Of Eligible Receivables"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityCommitmentFeeAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityCommitmentFeeAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Line of Credit Facility, Commitment Fee Amount",
        "terseLabel": "Line of credit facility, commitment fee amount",
        "documentation": "Amount of the fee for available but unused credit capacity under the credit facility."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r59",
      "r271"
     ]
    },
    "us-gaap_LineOfCreditFacilityCovenantCompliance": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityCovenantCompliance",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility covenant compliance",
        "label": "Line of Credit Facility, Covenant Compliance",
        "documentation": "Identification of whether the entity has been in compliance with any credit facility debt covenants during the period."
       }
      }
     },
     "auth_ref": [
      "r821",
      "r822"
     ]
    },
    "us-gaap_LineOfCreditFacilityCovenantTerms": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityCovenantTerms",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility covenant terms",
        "label": "Line of Credit Facility, Covenant Terms",
        "documentation": "Description of the conditions for borrowing under the credit facility including the nature of any restrictions."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r59"
     ]
    },
    "us-gaap_LineOfCreditFacilityCurrentBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityCurrentBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility current borrowing capacity",
        "label": "Line of Credit Facility, Current Borrowing Capacity",
        "documentation": "Amount of current borrowing capacity under the credit facility considering any current restrictions on the amount that could be borrowed (for example, borrowings may be limited by the amount of current assets), but without considering any amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r59"
     ]
    },
    "us-gaap_LineOfCreditFacilityExpirationDate1": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityExpirationDate1",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility maturity date",
        "label": "Line of Credit Facility, Expiration Date",
        "documentation": "Date the credit facility terminates, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r59"
     ]
    },
    "us-gaap_LineOfCreditFacilityFrequencyOfPayments": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityFrequencyOfPayments",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility frequency of payments",
        "label": "Line of Credit Facility, Frequency of Payments",
        "documentation": "Description of the frequency of periodic payments, which may be presented in a variety of ways (for example, monthly, quarterly, annually)."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r59"
     ]
    },
    "us-gaap_LineOfCreditFacilityInterestRateDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityInterestRateDescription",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility interest rate description",
        "label": "Line of Credit Facility, Interest Rate Description",
        "documentation": "Description of interest rate for borrowing under credit facility. Includes, but is not limited to, terms and method for determining interest rate."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r59"
     ]
    },
    "us-gaap_LineOfCreditFacilityLenderDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityLenderDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "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": [
      "r55",
      "r59",
      "r833",
      "r885"
     ]
    },
    "us-gaap_LineOfCreditFacilityLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line Of Credit Facility [Line Items]",
        "label": "Line of Credit Facility [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": [
      "r271",
      "r833",
      "r885"
     ]
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility allowable amount",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r59"
     ]
    },
    "airg_LineOfCreditFacilityNetAllowancePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "LineOfCreditFacilityNetAllowancePercentage",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility, percentage of net allowance",
        "label": "Line Of Credit Facility Net Allowance Percentage",
        "documentation": "Line Of Credit Facility Net Allowance Percentage"
       }
      }
     },
     "auth_ref": []
    },
    "airg_LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "LineOfCreditFacilityRawMaterialsAndFinishedGoodsPercentage",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility, percentage of raw materials and finished goods",
        "label": "Line Of Credit Facility Raw Materials And Finished Goods Percentage",
        "documentation": "Line Of Credit Facility Raw Materials And Finished Goods Percentage"
       }
      }
     },
     "auth_ref": []
    },
    "airg_LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "LineOfCreditFacilityReserveForExcessAndObsoleteInventoryPercentage",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit facility, percentage of reserve for excess and obsolete inventory",
        "label": "Line Of Credit Facility Reserve For Excess And Obsolete Inventory Percentage",
        "documentation": "Line Of Credit Facility Reserve For Excess And Obsolete Inventory Percentage"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditFacilityTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line Of Credit Facility [Table]",
        "label": "Line of Credit Facility [Table]",
        "documentation": "Disclosure of information about short-term and long-term contractual arrangements with lender under which borrowing can occur up to maximum amount. Includes, but is not limited to, letter of credit, standby letter of credit, and revolving credit arrangement."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r59",
      "r271",
      "r833",
      "r885"
     ]
    },
    "us-gaap_LineOfCreditMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LineOfCreditMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of Credit",
        "label": "Line of Credit [Member]",
        "documentation": "A contractual arrangement with a lender under which borrowings can be made up to a specific amount at any point in time, and under which borrowings outstanding may be either short-term or long-term, depending upon the particulars."
       }
      }
     },
     "auth_ref": []
    },
    "airg_LiquidityRatio": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "LiquidityRatio",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Liquidity ratio.",
        "terseLabel": "Liquidity ratio",
        "label": "Liquidity Ratio"
       }
      }
     },
     "auth_ref": []
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Local Phone Number",
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongLivedAssetsByGeographicAreasTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Long Lived Assets By Geographical Region",
        "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": [
      "r90"
     ]
    },
    "us-gaap_LongTermDebtAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt, Unclassified [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCredit"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Notes Payable and Line of Credit",
        "label": "Long-Term Debt [Text Block]",
        "documentation": "The entire disclosure for long-term debt."
       }
      }
     },
     "auth_ref": [
      "r94"
     ]
    },
    "country_MM": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "MM",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Myanmar",
        "label": "MYANMAR"
       }
      }
     },
     "auth_ref": []
    },
    "stpr_MN": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/stpr/2024",
     "localname": "MN",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minnesota",
        "label": "MINNESOTA"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MachineryAndEquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MachineryAndEquipmentMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Manufacturing and Testing Equipment",
        "label": "Machinery and Equipment [Member]",
        "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MajorCustomersAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MajorCustomersAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer",
        "label": "Customer [Axis]"
       }
      }
     },
     "auth_ref": [
      "r234",
      "r675",
      "r710",
      "r713",
      "r891",
      "r942",
      "r944",
      "r945",
      "r946",
      "r947",
      "r948",
      "r949",
      "r950",
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r970",
      "r971"
     ]
    },
    "airg_MajorCustomersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "MajorCustomersMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Major Customers",
        "label": "Major Customers [Member]",
        "documentation": "Major customers."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_MarketingRelatedIntangibleAssetsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MarketingRelatedIntangibleAssetsMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Market related intangibles",
        "label": "Marketing-Related Intangible Assets [Member]",
        "documentation": "Marketing-related asset, including, but not limited to, internet domain name, newspaper mast head, and trademark."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r866",
      "r868",
      "r869",
      "r870",
      "r872",
      "r873",
      "r876",
      "r877"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum",
        "label": "Maximum [Member]"
       }
      }
     },
     "auth_ref": [
      "r267",
      "r268",
      "r269",
      "r270",
      "r321",
      "r366",
      "r426",
      "r464",
      "r527",
      "r529",
      "r537",
      "r561",
      "r562",
      "r616",
      "r618",
      "r620",
      "r621",
      "r625",
      "r647",
      "r648",
      "r667",
      "r672",
      "r685",
      "r695",
      "r696",
      "r697",
      "r698",
      "r711",
      "r889",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935"
     ]
    },
    "ecd_MeasureAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure [Axis]",
        "terseLabel": "Measure:"
       }
      }
     },
     "auth_ref": [
      "r774"
     ]
    },
    "ecd_MeasureName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MeasureName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Measure Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r774"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Minimum",
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r267",
      "r268",
      "r269",
      "r270",
      "r321",
      "r366",
      "r426",
      "r464",
      "r527",
      "r529",
      "r537",
      "r561",
      "r562",
      "r616",
      "r618",
      "r620",
      "r621",
      "r625",
      "r647",
      "r648",
      "r667",
      "r672",
      "r685",
      "r695",
      "r696",
      "r697",
      "r711",
      "r889",
      "r930",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935"
     ]
    },
    "ecd_MnpiDiscTimedForCompValFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MnpiDiscTimedForCompValFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "MNPI Disclosure Timed for Compensation Value [Flag]",
        "terseLabel": "MNPI Disclosure Timed for Compensation Value"
       }
      }
     },
     "auth_ref": [
      "r793"
     ]
    },
    "us-gaap_MoneyMarketFundsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MoneyMarketFundsMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Money Market Funds",
        "label": "Money Market Funds [Member]",
        "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities."
       }
      }
     },
     "auth_ref": [
      "r893"
     ]
    },
    "ecd_MtrlTermsOfTrdArrTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "MtrlTermsOfTrdArrTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Material Terms of Trading Arrangement [Text Block]",
        "terseLabel": "Material Terms of Trading Arrangement"
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "srt_NameOfMajorCustomerDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "NameOfMajorCustomerDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Customer",
        "label": "Customer [Domain]"
       }
      }
     },
     "auth_ref": [
      "r234",
      "r675",
      "r710",
      "r713",
      "r891",
      "r942",
      "r944",
      "r945",
      "r946",
      "r947",
      "r948",
      "r949",
      "r950",
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r970",
      "r971"
     ]
    },
    "ecd_NamedExecutiveOfficersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NamedExecutiveOfficersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Named Executive Officers, Footnote [Text Block]",
        "terseLabel": "Named Executive Officers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r775"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "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": [
      "r175"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash flows from financing activities:",
        "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in investing activities",
        "label": "Net Cash Provided by (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": [
      "r175"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]",
        "terseLabel": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "totalLabel": "Net cash 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": [
      "r83",
      "r84",
      "r85"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash flows from operating activities:",
        "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfComputationOfNetLossPerShareDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited",
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net Income (Loss)",
        "terseLabel": "Net Income (Loss)",
        "totalLabel": "Net loss",
        "verboseLabel": "Net income (loss)",
        "negatedLabel": "Net loss",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r85",
      "r121",
      "r144",
      "r162",
      "r164",
      "r169",
      "r180",
      "r190",
      "r192",
      "r193",
      "r194",
      "r195",
      "r196",
      "r199",
      "r200",
      "r205",
      "r236",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r397",
      "r403",
      "r421",
      "r433",
      "r521",
      "r592",
      "r608",
      "r609",
      "r723",
      "r887"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Recently Issued Accounting Pronouncements",
        "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": []
    },
    "airg_NimbelinkMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "NimbelinkMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinationsTables",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "NimbeLink",
        "label": "NimbeLink [Member]",
        "documentation": "NimbeLink."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonGaapMeasureDescriptionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonGaapMeasureDescriptionTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-GAAP Measure Description [Text Block]",
        "terseLabel": "Non-GAAP Measure Description"
       }
      }
     },
     "auth_ref": [
      "r774"
     ]
    },
    "ecd_NonNeosMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonNeosMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-NEOs [Member]",
        "terseLabel": "Non-NEOs"
       }
      }
     },
     "auth_ref": [
      "r738",
      "r748",
      "r758",
      "r782",
      "r790"
     ]
    },
    "ecd_NonPeoNeoAvgCompActuallyPaidAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgCompActuallyPaidAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Compensation Actually Paid Amount",
        "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount"
       }
      }
     },
     "auth_ref": [
      "r765"
     ]
    },
    "ecd_NonPeoNeoAvgTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoAvgTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO Average Total Compensation Amount",
        "terseLabel": "Non-PEO NEO Average Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r764"
     ]
    },
    "ecd_NonPeoNeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonPeoNeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-PEO NEO [Member]",
        "terseLabel": "Non-PEO NEO"
       }
      }
     },
     "auth_ref": [
      "r782"
     ]
    },
    "airg_NonRule10B51ArrModifiedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "NonRule10B51ArrModifiedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Rule 10b5-1 Arrangement Modified",
        "label": "Non Rule 10B51 Arr Modified Flag",
        "documentation": "Non Rule 10B51 Arr Modified Flag"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Supplemental disclosure of non-cash investing and financing activities:",
        "label": "Noncash Investing and Financing Items [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NoncurrentAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NoncurrentAssets",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Property and equipment, net",
        "terseLabel": "Fixed assets",
        "label": "Long-Lived Assets",
        "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r233"
     ]
    },
    "srt_NorthAmericaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "NorthAmericaMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "North America",
        "label": "North America [Member]"
       }
      }
     },
     "auth_ref": [
      "r976",
      "r977",
      "r978",
      "r979"
     ]
    },
    "us-gaap_NumberOfOperatingSegments": {
     "xbrltype": "integerItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NumberOfOperatingSegments",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDescriptionOfBusinessAndBasisOfPresentationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of operating segments",
        "label": "Number of Operating Segments",
        "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues."
       }
      }
     },
     "auth_ref": [
      "r665",
      "r847"
     ]
    },
    "airg_NumberOfVendors": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "NumberOfVendors",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Number of vendors.",
        "terseLabel": "Number of vendors",
        "label": "Number Of Vendors"
       }
      }
     },
     "auth_ref": []
    },
    "airg_OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued offering costs charged against proceeds from sale of common stock",
        "documentation": "Offering Costs Charged Against Proceeds From Sale Of Common Stock",
        "label": "Offering Costs Charged Against Proceeds From Sale Of Common Stock"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total operating expenses",
        "label": "Operating Expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating expenses:",
        "label": "Operating Expenses [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Loss from operations",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r124",
      "r661",
      "r846",
      "r848",
      "r849",
      "r850",
      "r851"
     ]
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Cost",
        "terseLabel": "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": [
      "r448",
      "r699"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total lease liabilities",
        "verboseLabel": "Operating lease liability",
        "label": "Operating Lease, Liability",
        "terseLabel": "Total lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r446"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedTerseLabel": "Less short-term lease liabilities",
        "verboseLabel": "Less short-term lease liabilities",
        "terseLabel": "Short-term lease liabilities",
        "label": "Operating Lease, Liability, Current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r446"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating Lease, Liability, Noncurrent, Total",
        "terseLabel": "Long-term lease liability",
        "label": "Operating Lease, Liability, Noncurrent",
        "verboseLabel": "Long-term lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r446"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Right-of-Use Asset",
        "terseLabel": "Leased right-of-use assets",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r445"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease weighted average discount rate percent",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r452",
      "r699"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease weighted average remaining lease term",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r451",
      "r699"
     ]
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Organization, Consolidation and Presentation of Financial Statements [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDescriptionOfBusinessAndBasisOfPresentation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Description of Business and Basis of Presentation",
        "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure [Text Block]",
        "documentation": "The entire disclosure for organization, consolidation and basis of presentation of financial statements disclosure."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r110",
      "r539",
      "r540"
     ]
    },
    "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basis of Presentation and Principles of Consolidation",
        "label": "Organization, Consolidation, Basis of Presentation, Business Description and Accounting Policies [Text Block]",
        "documentation": "The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r87",
      "r88",
      "r110"
     ]
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherSummaryOfAccruedLiabilitiesAndOtherDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accrued expenses",
        "label": "Other Accrued Liabilities, Current",
        "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": [
      "r57"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other Assets, Noncurrent, Total",
        "terseLabel": "Other assets",
        "label": "Other Assets, Noncurrent",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r153"
     ]
    },
    "us-gaap_OtherCommitmentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherCommitmentsAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Commitments [Axis]",
        "documentation": "Information by type of other commitment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherCommitmentsDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherCommitmentsDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Commitments [Domain]",
        "documentation": "Other future obligation."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherComprehensiveIncomeLossTaxAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossTaxAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other comprehensive loss:",
        "label": "Other Comprehensive Income (Loss), Tax [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_OtherCountriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "OtherCountriesMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other countries.",
        "terseLabel": "Other",
        "label": "Other Countries [Member]",
        "verboseLabel": "Rest of the world"
       }
      }
     },
     "auth_ref": []
    },
    "airg_OtherIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "OtherIncomeExpense",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other expense (income)",
        "documentation": "Other (income) expense",
        "label": "Other (income) expense"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherInventoryMaterialsSuppliesAndMerchandiseUnderConsignment",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Inventory, Materials, Supplies and Merchandise under Consignment, Gross",
        "terseLabel": "Inventories on consignment",
        "documentation": "Gross amount of inventory owned by the entity but in the hands of a customer, typically a reseller."
       }
      }
     },
     "auth_ref": [
      "r824"
     ]
    },
    "us-gaap_OtherLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherLiabilities",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherSummaryOfAccruedLiabilitiesAndOtherDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other current liabilities",
        "totalLabel": "Other Liabilities, Total",
        "label": "Other Liabilities",
        "documentation": "Amount of liabilities classified as other."
       }
      }
     },
     "auth_ref": [
      "r116",
      "r509",
      "r565",
      "r566",
      "r725",
      "r940",
      "r973"
     ]
    },
    "us-gaap_OtherNonoperatingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNonoperatingExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Other Nonoperating Expense, Total",
        "label": "Other Nonoperating Expense",
        "terseLabel": "Other (income) expense",
        "negatedLabel": "Other (income) expense",
        "negatedTotalLabel": "Total Other (income) expense",
        "documentation": "Amount of expense related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "us-gaap_OtherNonoperatingIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNonoperatingIncome",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Nonoperating Income",
        "negatedLabel": "Interest income, net",
        "documentation": "Amount of income related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r172"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Nonoperating Income (Expense)",
        "totalLabel": "Total other expense (income)",
        "negatedTotalLabel": "Total other income",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r81"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNonoperatingIncomeExpenseAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Nonoperating Income (Expense) [Abstract]",
        "terseLabel": "Other (income) expense:"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_OtherPerfMeasureAmt": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OtherPerfMeasureAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Performance Measure, Amount",
        "terseLabel": "Other Performance Measure, Amount"
       }
      }
     },
     "auth_ref": [
      "r774"
     ]
    },
    "ecd_OutstandingAggtErrCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingAggtErrCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Aggregate Erroneous Compensation Amount",
        "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r736",
      "r746",
      "r756",
      "r788"
     ]
    },
    "ecd_OutstandingRecoveryCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery Compensation Amount",
        "terseLabel": "Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r739",
      "r749",
      "r759",
      "r791"
     ]
    },
    "ecd_OutstandingRecoveryIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "OutstandingRecoveryIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Outstanding Recovery, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r739",
      "r749",
      "r759",
      "r791"
     ]
    },
    "ecd_PayVsPerformanceDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PayVsPerformanceDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Line Items]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "us-gaap_PayablesAndAccrualsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PayablesAndAccrualsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Payables and Accruals [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_PaymentOfSeveranceCosts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "PaymentOfSeveranceCosts",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCommitmentsAndContingenciesScheduleOfLiabilityRecordedRelatedToSeveranceAndExitCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payment of severance costs",
        "label": "Payment of severance costs",
        "terseLabel": "Payments"
       }
      }
     },
     "auth_ref": []
    },
    "airg_PaymentsForInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "PaymentsForInventory",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Payments for inventory.",
        "terseLabel": "Payments for inventory",
        "label": "Payments For Inventory"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Payments for withholding taxes related to net share settlement of equity awards",
        "terseLabel": "Taxes paid for net share settlement of restricted stock units",
        "label": "Payment, Tax Withholding, Share-Based Payment Arrangement",
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r173"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Payments to Acquire Property, Plant, and Equipment, Total",
        "negatedLabel": "Purchases of property and equipment",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r82"
     ]
    },
    "ecd_PeerGroupIssuersFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupIssuersFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Issuers, Footnote [Text Block]",
        "terseLabel": "Peer Group Issuers, Footnote"
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "ecd_PeerGroupTotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeerGroupTotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Peer Group Total Shareholder Return Amount",
        "terseLabel": "Peer Group Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "ecd_PeoActuallyPaidCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoActuallyPaidCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Actually Paid Compensation Amount",
        "terseLabel": "PEO Actually Paid Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r765"
     ]
    },
    "ecd_PeoMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO [Member]",
        "terseLabel": "PEO"
       }
      }
     },
     "auth_ref": [
      "r782"
     ]
    },
    "ecd_PeoName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Name",
        "terseLabel": "PEO Name"
       }
      }
     },
     "auth_ref": [
      "r775"
     ]
    },
    "ecd_PeoTotalCompAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PeoTotalCompAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "PEO Total Compensation Amount",
        "terseLabel": "PEO Total Compensation Amount"
       }
      }
     },
     "auth_ref": [
      "r764"
     ]
    },
    "airg_PerformanceStockUnitMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "PerformanceStockUnitMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Performance stock unit (PSU)",
        "label": "Performance stock unit [Member]",
        "documentation": "Performance stock unit [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PlanNameAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan Name",
        "label": "Plan Name [Axis]",
        "documentation": "Information by plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "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"
     ]
    },
    "us-gaap_PlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PlanNameDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Plan Name",
        "label": "Plan Name [Domain]",
        "documentation": "Plan name for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "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"
     ]
    },
    "ecd_PnsnAdjsPrrSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsPrrSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Prior Service Cost [Member]",
        "terseLabel": "Pension Adjustments Prior Service Cost"
       }
      }
     },
     "auth_ref": [
      "r766"
     ]
    },
    "ecd_PnsnAdjsSvcCstMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnAdjsSvcCstMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Adjustments Service Cost [Member]",
        "terseLabel": "Pension Adjustments Service Cost"
       }
      }
     },
     "auth_ref": [
      "r810"
     ]
    },
    "ecd_PnsnBnftsAdjFnTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PnsnBnftsAdjFnTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pension Benefits Adjustments, Footnote [Text Block]",
        "terseLabel": "Pension Benefits Adjustments, Footnote"
       }
      }
     },
     "auth_ref": [
      "r765"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseAndOtherAssetsCurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Prepaid expenses and other current assets",
        "label": "Prepaid Expense and Other Assets, Current",
        "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r826"
     ]
    },
    "us-gaap_PrepaidExpenseAndOtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrepaidExpenseAndOtherAssetsNoncurrent",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted cash - long term",
        "label": "Prepaid Expense and Other Assets, Noncurrent",
        "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 after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r113",
      "r820"
     ]
    },
    "us-gaap_PrimeRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PrimeRateMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prime Rate [Member]",
        "terseLabel": "Prime Rate",
        "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PriorPeriodReclassificationAdjustmentDescription": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PriorPeriodReclassificationAdjustmentDescription",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Reclassifications",
        "label": "Reclassification, Comparability Adjustment [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error."
       }
      }
     },
     "auth_ref": [
      "r818"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Issuance of Common Stock",
        "terseLabel": "Proceeds from at-the-market common stock offering, net of offering costs",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r2"
     ]
    },
    "us-gaap_ProceedsFromIssuanceOrSaleOfEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromIssuanceOrSaleOfEquity",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net proceeds after offering costs",
        "label": "Proceeds from Issuance or Sale of Equity",
        "totalLabel": "Proceeds from Issuance or Sale of Equity, Total",
        "documentation": "The cash inflow from the issuance of common stock, preferred stock, treasury stock, stock options, and other types of equity."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r543"
     ]
    },
    "us-gaap_ProceedsFromStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromStockOptionsExercised",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from Stock Options Exercised",
        "terseLabel": "Proceeds from employee stock purchase and option exercises",
        "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r11"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest, Total",
        "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest",
        "terseLabel": "Net loss",
        "verboseLabel": "Net income (loss)",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r144",
      "r162",
      "r164",
      "r174",
      "r180",
      "r190",
      "r196",
      "r199",
      "r200",
      "r236",
      "r272",
      "r273",
      "r274",
      "r275",
      "r276",
      "r277",
      "r278",
      "r279",
      "r280",
      "r397",
      "r403",
      "r405",
      "r408",
      "r409",
      "r421",
      "r433",
      "r505",
      "r520",
      "r549",
      "r592",
      "r608",
      "r609",
      "r690",
      "r691",
      "r724",
      "r829",
      "r887"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and Equipment",
        "label": "Property, Plant, and Equipment and Intangible Assets [Text Block]",
        "documentation": "The entire disclosure for intangible assets and long-lived, physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, accounting policies and methodology, roll forwards, depreciation, depletion and amortization expense, including composite depreciation, accumulated depreciation, depletion and amortization expense, useful lives and method used, income statement disclosures, assets held for sale and public utility disclosures."
       }
      }
     },
     "auth_ref": [
      "r862",
      "r865",
      "r878"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-Lived Tangible Asset",
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r454"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Property, Plant and Equipment, Gross, Ending Balance",
        "periodStartLabel": "Property, Plant and Equipment, Gross, Beginning Balance",
        "totalLabel": "Property, Plant and Equipment, Gross, Total",
        "terseLabel": "Property and equipment, gross",
        "label": "Property, Plant and Equipment, Gross",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r149",
      "r518"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property Plant And Equipment [Line Items]",
        "label": "Property, Plant and Equipment [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r454"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Property, Plant and Equipment, Net, Ending Balance",
        "periodStartLabel": "Property, Plant and Equipment, Net, Beginning Balance",
        "terseLabel": "Property and equipment, net",
        "label": "Property, Plant and Equipment, Net",
        "totalLabel": "Property and equipment, net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r454",
      "r506",
      "r518",
      "r700"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentOtherTypesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentOtherTypesMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Other Property and Equipment",
        "label": "Property, Plant and Equipment, Other Types [Member]",
        "documentation": "Long-lived, physical assets used to produce goods and services and not intended for resale, classified as other."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and Equipment",
        "label": "Property, Plant and Equipment, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r135",
      "r139",
      "r516"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Property and Equipment",
        "label": "Property, Plant and Equipment [Table Text Block]",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Long-Lived Tangible Asset",
        "label": "Long-Lived Tangible Asset [Domain]",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r454"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Property and equipment, estimated useful life",
        "label": "Property, Plant and Equipment, Useful Life",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "airg_ProvisionForExcessAndObsoleteInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ProvisionForExcessAndObsoleteInventories",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for excess and obsolete inventories",
        "documentation": "Provision for excess and obsolete inventories",
        "terseLabel": "Excess and obsolete inventory reserves"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PublicUtilitiesInterimRateIncreaseDecreasePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PublicUtilitiesInterimRateIncreaseDecreasePercentage",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Line of credit, Percentage of maximum advances of aggregate face amount of certain eligible receivables",
        "label": "Public Utilities, Interim Rate Increase (Decrease), Percentage",
        "documentation": "Percentage of public utility's interim rate increase (decrease) allowed while waiting final decision of regulatory agency."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PublicUtilitiesInventoryAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PublicUtilitiesInventoryAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory [Axis]",
        "documentation": "Information by type of inventory held."
       }
      }
     },
     "auth_ref": [
      "r824"
     ]
    },
    "us-gaap_PublicUtilitiesInventoryRawMaterialsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PublicUtilitiesInventoryRawMaterialsMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Raw Materials [Member]",
        "terseLabel": "Raw Materials [Member]",
        "documentation": "Basic goods that are to be consumed directly or indirectly in the production of finished goods or services."
       }
      }
     },
     "auth_ref": [
      "r71"
     ]
    },
    "us-gaap_PublicUtilitiesInventorySuppliesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PublicUtilitiesInventorySuppliesMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Supplies [Member]",
        "documentation": "Materials used as supplies by the entity."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "us-gaap_PublicUtilitiesInventoryTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PublicUtilitiesInventoryTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Regulated Operation, Inventory [Table]",
        "documentation": "Disclosure of information about inventory held by regulated operation entity by type."
       }
      }
     },
     "auth_ref": [
      "r824"
     ]
    },
    "us-gaap_PublicUtilitiesInventoryTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PublicUtilitiesInventoryTypeDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryScheduleOfInventoryAndConsignedInventoriesCurrentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory [Domain]",
        "documentation": "Tangible personal property that is held for sale in the ordinary course of business, in process of production for such sale or is to be currently consumed in the production of goods or services to be available for sale."
       }
      }
     },
     "auth_ref": [
      "r824"
     ]
    },
    "airg_PurchaseOfInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "PurchaseOfInventory",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Purchase of inventory.",
        "verboseLabel": "Purchase of inventory",
        "label": "Purchase Of Inventory"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_PvpTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance Disclosure [Table]",
        "terseLabel": "Pay vs Performance Disclosure"
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "ecd_PvpTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "PvpTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Pay vs Performance [Table Text Block]",
        "terseLabel": "Pay vs Performance Disclosure, Table"
       }
      }
     },
     "auth_ref": [
      "r763"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statistical Measurement",
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r267",
      "r268",
      "r269",
      "r270",
      "r314",
      "r321",
      "r352",
      "r353",
      "r354",
      "r366",
      "r426",
      "r462",
      "r463",
      "r464",
      "r527",
      "r529",
      "r537",
      "r561",
      "r562",
      "r616",
      "r618",
      "r620",
      "r621",
      "r625",
      "r647",
      "r648",
      "r667",
      "r672",
      "r685",
      "r695",
      "r696",
      "r697",
      "r698",
      "r711",
      "r717",
      "r883",
      "r889",
      "r924",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statistical Measurement",
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "auth_ref": [
      "r267",
      "r268",
      "r269",
      "r270",
      "r314",
      "r321",
      "r352",
      "r353",
      "r354",
      "r366",
      "r426",
      "r462",
      "r463",
      "r464",
      "r527",
      "r529",
      "r537",
      "r561",
      "r562",
      "r616",
      "r618",
      "r620",
      "r621",
      "r625",
      "r647",
      "r648",
      "r667",
      "r672",
      "r685",
      "r695",
      "r696",
      "r697",
      "r698",
      "r711",
      "r717",
      "r883",
      "r889",
      "r924",
      "r931",
      "r932",
      "r933",
      "r934",
      "r935"
     ]
    },
    "ecd_RecoveryOfErrCompDisclosureLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RecoveryOfErrCompDisclosureLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]",
        "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure"
       }
      }
     },
     "auth_ref": [
      "r731",
      "r741",
      "r751",
      "r783"
     ]
    },
    "us-gaap_RepurchaseAgreementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RepurchaseAgreementsMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Repurchase Agreements",
        "label": "Repurchase Agreements [Member]",
        "documentation": "Investments represented by an agreement between the entity and another party for the sale and repurchase of identical or substantially the same securities at a date certain for a specified price. Such agreements are generally short-term in nature."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Research and Development Expense, Total",
        "terseLabel": "Research and development",
        "label": "Research and Development Expense",
        "documentation": "Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity."
       }
      }
     },
     "auth_ref": [
      "r368",
      "r649",
      "r664",
      "r936"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchAndDevelopmentExpenseMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and Development Expense [Member]",
        "terseLabel": "Research and development",
        "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/2024",
     "localname": "ResearchAndDevelopmentExpensePolicy",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Research and Development Costs",
        "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": [
      "r367"
     ]
    },
    "ecd_RestatementDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDateAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date [Axis]",
        "terseLabel": "Restatement Determination Date:"
       }
      }
     },
     "auth_ref": [
      "r732",
      "r742",
      "r752",
      "r784"
     ]
    },
    "ecd_RestatementDeterminationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDeterminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Determination Date",
        "terseLabel": "Restatement Determination Date"
       }
      }
     },
     "auth_ref": [
      "r733",
      "r743",
      "r753",
      "r785"
     ]
    },
    "ecd_RestatementDoesNotRequireRecoveryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "RestatementDoesNotRequireRecoveryTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restatement Does Not Require Recovery [Text Block]",
        "terseLabel": "Restatement does not require Recovery"
       }
      }
     },
     "auth_ref": [
      "r740",
      "r750",
      "r760",
      "r792"
     ]
    },
    "us-gaap_RestrictedCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedCash",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted cash included in prepaid expenses and other current assets and other assets long term",
        "label": "Restricted Cash",
        "totalLabel": "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": [
      "r819",
      "r831",
      "r937",
      "r941"
     ]
    },
    "us-gaap_RestrictedCashAndCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedCashAndCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted cash - short term",
        "totalLabel": "Restricted Cash and Cash Equivalents, Total",
        "label": "Restricted Cash and Cash Equivalents",
        "documentation": "Amount of cash and cash equivalents 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. 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": [
      "r17",
      "r112",
      "r148",
      "r177",
      "r511"
     ]
    },
    "us-gaap_RestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted cash",
        "totalLabel": "Restricted Cash Equivalents, Total",
        "label": "Restricted Cash Equivalents",
        "documentation": "Amount of cash equivalents restricted as to withdrawal or usage. 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": [
      "r634",
      "r635",
      "r831",
      "r937",
      "r941"
     ]
    },
    "airg_RestrictedCashPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "RestrictedCashPolicyTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Cash [Policy Text Block]",
        "documentation": "Restricted Cash [Policy Text Block]",
        "terseLabel": "Restricted Cash"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RestrictedStockExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedStockExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Restricted Stock or Unit Expense",
        "terseLabel": "Stock options, restricted stock and performance stock",
        "documentation": "Amount of noncash expense for award of restricted stock or unit under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_RestrictedStockUnitsRSUMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RestrictedStockUnitsRSUMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Restricted Stock Unit",
        "label": "Restricted Stock Units (RSUs) [Member]",
        "terseLabel": "Restricted Stock Unit (RSU)",
        "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Retained Earnings (Accumulated Deficit), Ending Balance",
        "periodStartLabel": "Retained Earnings (Accumulated Deficit), Beginning Balance",
        "totalLabel": "Retained Earnings (Accumulated Deficit), Total",
        "terseLabel": "Accumulated deficit",
        "label": "Retained Earnings (Accumulated Deficit)",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r99",
      "r514",
      "r534",
      "r536",
      "r547",
      "r572",
      "r700"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Deficit",
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r143",
      "r187",
      "r188",
      "r189",
      "r191",
      "r196",
      "r198",
      "r200",
      "r237",
      "r238",
      "r261",
      "r386",
      "r387",
      "r394",
      "r395",
      "r396",
      "r398",
      "r402",
      "r403",
      "r412",
      "r414",
      "r415",
      "r417",
      "r419",
      "r442",
      "r444",
      "r531",
      "r533",
      "r550",
      "r974"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue from Contract with Customer [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Revenue from Contract with Customer, Excluding Assessed Tax, Total",
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "verboseLabel": "Disaggregated revenues",
        "terseLabel": "Sales",
        "documentation": "Amount, excluding 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": [
      "r122",
      "r123",
      "r213",
      "r217",
      "r218",
      "r227",
      "r229",
      "r231",
      "r232",
      "r234",
      "r310",
      "r311",
      "r469"
     ]
    },
    "airg_RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from contract with customer shipping and handling cost policy.",
        "terseLabel": "Shipping and Transportation Costs",
        "label": "Revenue From Contract With Customer Shipping And Handling Cost Policy [Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue",
        "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": [
      "r142",
      "r302",
      "r303",
      "r304",
      "r305",
      "r306",
      "r307",
      "r308",
      "r309",
      "r313"
     ]
    },
    "airg_RevenueRecognitionPaymentTerms": {
     "xbrltype": "integerItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "RevenueRecognitionPaymentTerms",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue recognition, payment terms",
        "label": "Revenue Recognition Payment Terms",
        "documentation": "Revenue recognition, payment terms."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue Recognition",
        "label": "Revenue [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r593",
      "r650",
      "r657"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "terseLabel": "Recognized revenue remaining performance obligations",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r138"
     ]
    },
    "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenues from External Customers and Long-Lived Assets [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevolvingCreditFacilityMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevolvingCreditFacilityMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revolving Credit Facility",
        "label": "Revolving Credit Facility [Member]",
        "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability",
        "terseLabel": "Right-of-use asset obtained in exchange for operating lease liability",
        "verboseLabel": "Operating lease liabilities resulting from right-of-use assets",
        "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r450",
      "r699"
     ]
    },
    "airg_RightOfUseAssetsRecordedInNonCashInvestingAndFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "RightOfUseAssetsRecordedInNonCashInvestingAndFinancingActivities",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Right-of-use assets recorded upon adoption of ASC 842",
        "label": "Right-of-Use Assets Recorded in Non Cash Investing and Financing Activities",
        "documentation": "Right-of-use assets recorded in non cash investing and financing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RisksAndUncertaintiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RisksAndUncertaintiesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Risks and Uncertainties [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_Rule10B51ArrModifiedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "Rule10B51ArrModifiedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 10b5-1 Arrangement Modified",
        "label": "Rule 10b51 Arr Modified Flag",
        "documentation": "Rule 10b51 Arr Modified Flag"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]",
        "terseLabel": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r801"
     ]
    },
    "us-gaap_SaleOfStockConsiderationReceivedOnTransaction": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SaleOfStockConsiderationReceivedOnTransaction",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Gross proceeds",
        "label": "Sale of Stock, Consideration Received on Transaction",
        "documentation": "Cash received on stock transaction after deduction of issuance costs."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SaleOfStockNameOfTransactionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SaleOfStockNameOfTransactionDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sale of Stock",
        "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_SalesAndExciseTaxPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesAndExciseTaxPayableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherSummaryOfAccruedLiabilitiesAndOtherDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "VAT payable",
        "label": "Sales and Excise Tax Payable, Current",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred through that date and payable for statutory sales and use taxes, including value added tax. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r54"
     ]
    },
    "airg_SalesChannelDistributorsAndResellersMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "SalesChannelDistributorsAndResellersMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDisaggregatedRevenueSummaryOfDisaggregatedRevenueBySalesChannelDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sales channel distributors and resellers member.",
        "label": "Sales Channel Distributors And Resellers [Member]",
        "terseLabel": "Distributors and resellers"
       }
      }
     },
     "auth_ref": []
    },
    "airg_SalesChannelFulfillmentDistributorsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "SalesChannelFulfillmentDistributorsMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDisaggregatedRevenueSummaryOfDisaggregatedRevenueBySalesChannelDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sales channel, fulfillment distributors.",
        "terseLabel": "Fulfillment Distributors",
        "label": "Sales Channel Fulfillment Distributors [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_SalesChannelOEMODMContractManufacturerMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "SalesChannelOEMODMContractManufacturerMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDisaggregatedRevenueSummaryOfDisaggregatedRevenueBySalesChannelDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Sales channel OEM / ODM / contract manufacturer.",
        "terseLabel": "OEM/ODM/Contract Manufacturer",
        "label": "Sales Channel O E M O D M Contract Manufacturer [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_SalesChannelOtherMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "SalesChannelOtherMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureDisaggregatedRevenueSummaryOfDisaggregatedRevenueBySalesChannelDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Direct and other",
        "label": "Sales Channel Other [Member]",
        "documentation": "Sales Channel, Other.",
        "terseLabel": "Other"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SalesRevenueNetMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SalesRevenueNetMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfSalesAndAccountsReceivableDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net Revenue",
        "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": [
      "r234",
      "r814"
     ]
    },
    "us-gaap_ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureAccruedLiabilitiesAndOtherTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Accrued Liabilities and Other",
        "label": "Schedule of Accounts Payable and Accrued Liabilities [Table Text Block]",
        "documentation": "Tabular disclosure of the (a) 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 (accounts payable); (b) other payables; and (c) accrued liabilities. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer). An alternative caption includes accrued expenses."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetByMajorClassTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule Of Acquired Finite Lived Intangible Asset By Major Class [Table]",
        "label": "Schedule of Acquired Finite-Lived Intangible Asset by Major Class [Table]",
        "documentation": "Disclosure of information about acquired finite-lived intangible asset by major class."
       }
      }
     },
     "auth_ref": [
      "r250",
      "r251",
      "r252",
      "r254",
      "r649"
     ]
    },
    "us-gaap_ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Acquired Intangible Assets",
        "label": "Schedule of Acquired Finite-Lived Intangible Assets by Major Class [Table Text Block]",
        "documentation": "Tabular disclosure of the characteristics, including initial carrying value, residual amount, weighted average useful life, of finite-lived intangible assets acquired during the period by major class. A major class is composed of intangible assets that can be grouped together because they are similar, either by nature or by their use in the operations of the company."
       }
      }
     },
     "auth_ref": [
      "r867",
      "r872"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule Of Antidilutive Securities Excluded From Computation Of Earnings Per Share [Table]",
        "label": "Antidilutive Security, Excluded EPS Calculation [Table]",
        "documentation": "Disclosure of information about security that could potentially dilute basic earnings per share (EPS) in future that was not included in calculation of diluted EPS."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Potentially Dilutive Securities",
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]",
        "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities."
       }
      }
     },
     "auth_ref": [
      "r22"
     ]
    },
    "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Business Acquisitions, by Acquisition [Table]",
        "documentation": "Disclosure of information about business combination. Includes, but is not limited to, recognized asset and liability."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r48",
      "r399"
     ]
    },
    "us-gaap_ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Cash and Cash Equivalents by Significant Investment Category",
        "label": "Cash, Cash Equivalents and Investments [Table Text Block]",
        "documentation": "Tabular disclosure of the components of cash, cash equivalents, and investments."
       }
      }
     },
     "auth_ref": []
    },
    "airg_ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCommitmentsAndContingenciesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule Of commitments and contingencies liability recorded related to severance and exit costs table text block",
        "label": "Schedule Of commitments and contingencies liability recorded related to severance and exit costs table text block",
        "terseLabel": "Schedule of liability recorded related to severance and exit costs"
       }
      }
     },
     "auth_ref": []
    },
    "airg_ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of common stock reserved for future issuance.",
        "terseLabel": "Schedule of Common Stock Reserved for Future Issuance",
        "label": "Schedule Of Common Stock Reserved For Future Issuance Table [Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "terseLabel": "Summary of Computation of Net Loss Per Share",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r845"
     ]
    },
    "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]",
        "terseLabel": "Schedule of Stock Based Compensation Expenses",
        "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": [
      "r44"
     ]
    },
    "airg_ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Schedule of Future Minimum Rental Payments for Operating and Financing Leases.",
        "label": "Schedule of Future Minimum Rental Payments for Operating and Financing Leases [Table Text Block]",
        "terseLabel": "Schedule of Future Minimum Lease Payments Under Operating Leases"
       }
      }
     },
     "auth_ref": []
    },
    "airg_ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureInventoryTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Inventory And Consigned Inventories, Current",
        "label": "Schedule of Inventory And Consigned Inventories, Current [Table Text Block]",
        "documentation": "Schedule of Inventory And Consigned Inventories, Current [Table Text Block]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_ScheduleOfPerformanceStockUnitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ScheduleOfPerformanceStockUnitTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of performance stock unit table text block",
        "documentation": "Schedule of performance stock unit table text block",
        "terseLabel": "Schedule of Performance Stock Unit"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfPropertyPlantAndEquipmentTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule Of Property Plant And Equipment [Table]",
        "label": "Property, Plant and Equipment [Table]",
        "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r454"
     ]
    },
    "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Assets Acquired and Liabilities Assumed at Fair Value",
        "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]",
        "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree."
       }
      }
     },
     "auth_ref": [
      "r108"
     ]
    },
    "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]",
        "documentation": "Disclosure of information about revenue from external customer and long-lived asset by geographical area. Long-lived asset excludes financial instrument, customer relationship with financial institution, mortgage and other servicing right, deferred policy acquisition cost, and deferred tax asset."
       }
      }
     },
     "auth_ref": [
      "r30",
      "r74"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule Of Share Based Compensation Arrangements By Share Based Payment Award [Table]",
        "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]",
        "documentation": "Disclosure of information about share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r323",
      "r325",
      "r327",
      "r328",
      "r329",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Outstanding Restricted Stock Unit Activity",
        "label": "Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]",
        "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year."
       }
      }
     },
     "auth_ref": [
      "r101"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Outstanding Stock Option Activity",
        "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]",
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r9",
      "r10",
      "r101"
     ]
    },
    "us-gaap_ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Company's share-settled obligation RSU grants",
        "label": "Share-Based Payment Arrangement, Restricted Stock and Restricted Stock Unit, Activity [Table Text Block]",
        "documentation": "Disclosure of the number and weighted-average grant date fair value for restricted stock and restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock and restricted stock units that were granted, vested, or forfeited during the year."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfStockByClassTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfStockByClassTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule Of Stock By Class [Table]",
        "label": "Stock, Class of Stock [Table]",
        "documentation": "Disclosure of information about stock by class. Includes, but is not limited to, common, convertible, and preferred stocks."
       }
      }
     },
     "auth_ref": [
      "r33",
      "r34",
      "r35",
      "r36",
      "r37",
      "r38",
      "r95",
      "r97",
      "r98",
      "r99",
      "r155",
      "r156",
      "r157",
      "r215",
      "r283",
      "r284",
      "r285",
      "r287",
      "r290",
      "r295",
      "r297",
      "r543",
      "r544",
      "r545",
      "r546",
      "r672",
      "r813",
      "r832"
     ]
    },
    "airg_ScheduleOfTheCompanysAtmSalesActivityTabletextblock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ScheduleOfTheCompanysAtmSalesActivityTabletextblock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule Of The Company's ATM Sales Activity",
        "label": "Schedule Of The Company's ATM Sales Activity [TableTextBlock]",
        "documentation": "Schedule Of The Company's ATM Sales Activity [TableTextBlock]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Estimated Annual Amortization of Intangible Assets",
        "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": [
      "r669",
      "r874"
     ]
    },
    "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Schedule of Concentration of Sales and Accounts Receivable",
        "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]",
        "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r24",
      "r25",
      "r26",
      "r51",
      "r111"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Title of 12(b) Security",
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r726"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Security Exchange Name",
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r728"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Geographical",
        "label": "Geographical [Domain]"
       }
      }
     },
     "auth_ref": [
      "r232",
      "r233",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r554",
      "r557",
      "r559",
      "r617",
      "r619",
      "r623",
      "r626",
      "r633",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645",
      "r646",
      "r651",
      "r674",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r712",
      "r717",
      "r891",
      "r942",
      "r944",
      "r945",
      "r946",
      "r947",
      "r948",
      "r949",
      "r950",
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r970",
      "r971"
     ]
    },
    "us-gaap_SegmentReportingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingPolicyPolicyTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Segment Information",
        "label": "Segment Reporting, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for segment reporting."
       }
      }
     },
     "auth_ref": [
      "r220",
      "r221",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r230",
      "r232",
      "r662",
      "r663",
      "r666"
     ]
    },
    "us-gaap_SellingAndMarketingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingAndMarketingExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Selling and Marketing Expense, Total",
        "terseLabel": "Sales and marketing",
        "label": "Selling and Marketing Expense",
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SellingAndMarketingExpenseMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingAndMarketingExpenseMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sales and marketing",
        "label": "Selling and Marketing Expense [Member]",
        "documentation": "Primary financial statement caption encompassing selling and marketing expense."
       }
      }
     },
     "auth_ref": [
      "r80"
     ]
    },
    "airg_SeveranceAndExitCosts1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "SeveranceAndExitCosts1",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCommitmentsAndContingenciesScheduleOfLiabilityRecordedRelatedToSeveranceAndExitCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Severance and Exit Costs 1",
        "label": "Severance and Exit Costs 1",
        "periodStartLabel": "Opening Balance",
        "periodEndLabel": "Closing Balance"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SeveranceCosts1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SeveranceCosts1",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Severance Costs",
        "terseLabel": "Accrued severance costs",
        "documentation": "Amount of expenses for special or contractual termination benefits provided to current employees involuntarily terminated under a benefit arrangement associated exit or disposal activities pursuant to an authorized plan. Excludes expenses related to one-time termination benefits, a discontinued operation or an asset retirement obligation."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "airg_SeveranceCostsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "SeveranceCostsMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Severance Costs",
        "label": "Severance Costs [Member]",
        "documentation": "Severance Costs [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Share-based Payment Arrangement, Noncash Expense, Total",
        "terseLabel": "Stock-based compensation",
        "label": "Share-Based Payment Arrangement, Noncash Expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Percentage of discount and fair value of option",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Discount from Market Price, Purchase Date",
        "documentation": "Discount rate from fair value on purchase date that participants pay for shares."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period",
        "terseLabel": "Restricted stock units, Forfeited",
        "negatedLabel": "Restricted stock units, Forfeited",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r344"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value",
        "terseLabel": "Weighted average grant date fair value, Forfeited",
        "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": [
      "r344"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Restricted stock units, Grants",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period",
        "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r342"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average grant date fair value, Grants",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)."
       }
      }
     },
     "auth_ref": [
      "r342"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Restricted stock units, Beginning balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number",
        "periodEndLabel": "Restricted stock units, Ending balance",
        "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": [
      "r339",
      "r340"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted average grant date fair value, Beginning balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value",
        "periodEndLabel": "Weighted average grant date fair value, Ending balance",
        "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": [
      "r339",
      "r340"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average remaining contractual term",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Outstanding, Weighted Average Remaining Contractual Terms",
        "documentation": "Weighted average remaining contractual term for equity-based awards excluding options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r102"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Restricted stock units, Vested and released",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period",
        "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r343"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average grant date fair value, Vested and released",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value",
        "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement."
       }
      }
     },
     "auth_ref": [
      "r343"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationScheduleOfStockBasedCompensationExpensesDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share Based Compensation Arrangement By Share Based Payment Award [Line Items]",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r323",
      "r325",
      "r327",
      "r328",
      "r329",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Limited percentage of annual contribution",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Maximum Employee Subscription Rate",
        "documentation": "The highest percentage of annual salary that an employee is permitted to utilize with respect to the plan."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of authorized shares increased",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Additional Shares Authorized",
        "documentation": "Number of additional shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of authorized shares",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r688"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares available for grant",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant",
        "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancelledWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsCancelledWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share based compensation arrangement by share based payment award options cancelled weighted average remaining contractual term 1.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Cancelled Weighted Average Remaining Contractual Term1",
        "terseLabel": "Weighted average remaining contractual term (in years), Expired/Forfeited"
       }
      }
     },
     "auth_ref": []
    },
    "airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisedWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share based compensation arrangement by share based payment award options exercised weighted average remaining contractual term 1.",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Exercised Weighted Average Remaining Contractual Term1",
        "terseLabel": "Weighted average remaining contractual term (in years), Exercised"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intrinsic value of stock options exercised",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares."
       }
      }
     },
     "auth_ref": [
      "r346"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures and Expirations in Period, Total",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period",
        "negatedLabel": "Number of stock options, Expired/Forfeited",
        "documentation": "For presentations that combine terminations, 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 or that expired."
       }
      }
     },
     "auth_ref": [
      "r900"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average exercise price, Expired/Forfeited",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures and Expirations in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average price of options that were either forfeited or expired."
       }
      }
     },
     "auth_ref": [
      "r900"
     ]
    },
    "airg_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantedWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share Based Compensation Arrangement by Share based Payment Award Options Granted Weighted Average Remaining Contractual Term1",
        "label": "Share Based Compensation Arrangement By Share Based Payment Award Options Granted Weighted Average Remaining Contractual Term1",
        "terseLabel": "Weighted average remaining contractual term (in years), Granted"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross",
        "terseLabel": "Number of stock options, Granted",
        "documentation": "Gross number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r335"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average grant-date fair value of options granted",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "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": [
      "r345"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "periodStartLabel": "Number of stock options, Beginning balance",
        "periodEndLabel": "Number of stock options, Ending balance",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r331",
      "r332"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Weighted average exercise price, Beginning balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "periodEndLabel": "Weighted average exercise price, Ending balance",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r331",
      "r332"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number",
        "terseLabel": "Number of stock options, Vested and exercisable",
        "documentation": "Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r348"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average exercise price, Vested and exercisable",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price",
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. 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": [
      "r348"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Stock options expected to vest aggregate intrinsic value",
        "terseLabel": "Stock options vested and expected to vest aggregate intrinsic value",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value",
        "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r347"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number",
        "terseLabel": "Number of stock options, Vested and expected to vest",
        "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": [
      "r347"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average exercise price, Vested and expected to vest",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Exercise Price",
        "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur."
       }
      }
     },
     "auth_ref": [
      "r347"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Number of shares issued",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Shares Issued in Period",
        "documentation": "Number of shares issued under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingRestrictedStockUnitActivityDetails",
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Award Types",
        "terseLabel": "All Award Types",
        "documentation": "Award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r327",
      "r328",
      "r329",
      "r331",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r338",
      "r339",
      "r340",
      "r341",
      "r342",
      "r343",
      "r344",
      "r345",
      "r346",
      "r347",
      "r348",
      "r351",
      "r352",
      "r353",
      "r354",
      "r355"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average exercise price, Exercised",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r336"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average exercise price, Granted",
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r335"
     ]
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock-Based Compensation",
        "label": "Share-Based Payment Arrangement [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost."
       }
      }
     },
     "auth_ref": [
      "r322",
      "r330",
      "r349",
      "r350",
      "r351",
      "r352",
      "r355",
      "r361",
      "r362",
      "r363",
      "r364"
     ]
    },
    "airg_ShareGrantedUponSettlementOfDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ShareGrantedUponSettlementOfDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share Granted upon Settlement of debt",
        "documentation": "Share Granted upon Settlement of debt",
        "terseLabel": "Shares granted upon settlement of debt"
       }
      }
     },
     "auth_ref": []
    },
    "airg_ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ShareRepurchaseProgramAugustTwoZeroOneSevenAndSeptemberTwoZeroOneNineMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share repurchase program august two zero one seven and september two zero one nine member.",
        "terseLabel": "Share Repurchase Program August 2017 and September 2019",
        "label": "Share Repurchase Program August Two Zero One Seven And September Two Zero One Nine [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_ShareRepurchaseProgramAugustTwoZeroOneSevenMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ShareRepurchaseProgramAugustTwoZeroOneSevenMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share repurchase program august two zero one seven.",
        "terseLabel": "Share Repurchase Program August 2017",
        "label": "Share Repurchase Program August Two Zero One Seven [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_ShareRepurchaseProgramAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ShareRepurchaseProgramAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share Repurchase Program",
        "label": "Share Repurchase Program [Axis]"
       }
      }
     },
     "auth_ref": [
      "r890"
     ]
    },
    "srt_ShareRepurchaseProgramDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ShareRepurchaseProgramDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share Repurchase Program",
        "label": "Share Repurchase Program [Domain]"
       }
      }
     },
     "auth_ref": [
      "r890"
     ]
    },
    "airg_ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ShareRepurchaseProgramSeptemberNineTwoZeroOneNineMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Share repurchase program September nine two zero one nine.",
        "terseLabel": "Share Repurchase Program September 9, 2019",
        "label": "Share Repurchase Program September Nine Two Zero One Nine [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_ShareSettledObligationMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "ShareSettledObligationMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-Settled Obligation",
        "label": "Share-Settled Obligation [Member]",
        "documentation": "Share-Settled Obligation [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodEndLabel": "Aggregate Intrinsic Value, Ending Balance",
        "periodStartLabel": "Aggregate Intrinsic Value, Beginning Balance",
        "verboseLabel": "Aggregate intrinsic value, Beginning Balance",
        "terseLabel": "Aggregate Intrinsic Value, Ending Balance",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Outstanding",
        "documentation": "Intrinsic value of outstanding award under share-based payment arrangement. Excludes share and unit options."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Offering period of employee stock purchase plan",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Expiration Period",
        "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": [
      "r687"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Aggregate intrinsic value vested and exercisable",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Intrinsic Value",
        "documentation": "Amount of difference between fair value of the underlying shares reserved for issuance and exercise price of vested portions of options outstanding and currently exercisable."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term",
        "terseLabel": "Weighted average remaining contractual term (in years), Vested and exercisable",
        "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r43"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Weighted average remaining contractual term (in years)",
        "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r102"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Outstanding, Weighted Average Remaining Contractual Term",
        "terseLabel": "Weighted average remaining contractual term (in years), Vested and expected to vest",
        "documentation": "Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. 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": [
      "r347"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Purchase price percentage of market value of common stock",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent",
        "documentation": "Purchase price of common stock expressed as a percentage of its fair value."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Shares, Outstanding, Beginning Balance",
        "periodEndLabel": "Shares, Outstanding, Ending Balance",
        "label": "Shares, Outstanding",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShortTermDebtTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermDebtTypeAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt, Type [Axis]",
        "documentation": "Information by type of short-term debt arrangement."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r880",
      "r881",
      "r882"
     ]
    },
    "us-gaap_ShortTermDebtTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermDebtTypeDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Debt, Type [Domain]",
        "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing."
       }
      }
     },
     "auth_ref": [
      "r54",
      "r880",
      "r881",
      "r882"
     ]
    },
    "us-gaap_ShortTermLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShortTermLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Short-Term Lease, Cost",
        "terseLabel": "Short-term leases expense",
        "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less."
       }
      }
     },
     "auth_ref": [
      "r449",
      "r699"
     ]
    },
    "airg_SignificantAccountingPoliciesLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "SignificantAccountingPoliciesLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Accounting Policies [Line Items]",
        "terseLabel": "Significant Accounting Policies [Line Items]",
        "documentation": "Significant accounting policies line items."
       }
      }
     },
     "auth_ref": []
    },
    "airg_SignificantAccountingPoliciesTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "SignificantAccountingPoliciesTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant Accounting Policies [Table]",
        "terseLabel": "Significant Accounting Policies [Table]",
        "documentation": "Significant accounting policies table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureSummaryOfSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Significant Accounting Policies",
        "label": "Significant Accounting Policies [Text Block]",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r86",
      "r178"
     ]
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accumulated Other Comprehensive Loss",
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r65",
      "r68",
      "r69",
      "r143",
      "r167",
      "r168",
      "r169",
      "r187",
      "r188",
      "r189",
      "r191",
      "r196",
      "r198",
      "r200",
      "r214",
      "r237",
      "r238",
      "r261",
      "r298",
      "r386",
      "r387",
      "r394",
      "r395",
      "r396",
      "r398",
      "r402",
      "r403",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r419",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r442",
      "r444",
      "r455",
      "r522",
      "r531",
      "r532",
      "r533",
      "r550",
      "r610"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationScheduleOfConcentrationOfFixedAssetsByGeographicalRegionsDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Geographical",
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r232",
      "r233",
      "r472",
      "r473",
      "r474",
      "r475",
      "r476",
      "r477",
      "r478",
      "r479",
      "r480",
      "r481",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r489",
      "r490",
      "r491",
      "r492",
      "r493",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498",
      "r499",
      "r500",
      "r501",
      "r554",
      "r557",
      "r559",
      "r617",
      "r619",
      "r623",
      "r626",
      "r633",
      "r638",
      "r639",
      "r640",
      "r641",
      "r642",
      "r643",
      "r644",
      "r645",
      "r646",
      "r651",
      "r674",
      "r702",
      "r703",
      "r704",
      "r705",
      "r706",
      "r707",
      "r708",
      "r709",
      "r712",
      "r717",
      "r891",
      "r942",
      "r944",
      "r945",
      "r946",
      "r947",
      "r948",
      "r949",
      "r950",
      "r951",
      "r952",
      "r953",
      "r954",
      "r955",
      "r956",
      "r957",
      "r958",
      "r959",
      "r960",
      "r961",
      "r962",
      "r963",
      "r964",
      "r965",
      "r966",
      "r967",
      "r968",
      "r970",
      "r971"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement [Line Items]",
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r187",
      "r188",
      "r189",
      "r214",
      "r444",
      "r469",
      "r541",
      "r552",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r571",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r580",
      "r581",
      "r582",
      "r583",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r591",
      "r593",
      "r594",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r610",
      "r718"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "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/2024",
     "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/2024",
     "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/2024",
     "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/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Statement [Table]",
        "label": "Statement [Table]",
        "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity."
       }
      }
     },
     "auth_ref": [
      "r187",
      "r188",
      "r189",
      "r214",
      "r235",
      "r444",
      "r469",
      "r541",
      "r552",
      "r563",
      "r564",
      "r565",
      "r566",
      "r567",
      "r568",
      "r571",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r580",
      "r581",
      "r582",
      "r583",
      "r585",
      "r586",
      "r587",
      "r588",
      "r589",
      "r591",
      "r593",
      "r594",
      "r596",
      "r597",
      "r598",
      "r599",
      "r600",
      "r601",
      "r602",
      "r603",
      "r604",
      "r605",
      "r606",
      "r607",
      "r610",
      "r718"
     ]
    },
    "ecd_StkPrcOrTsrEstimationMethodTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "StkPrcOrTsrEstimationMethodTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Price or TSR Estimation Method [Text Block]",
        "terseLabel": "Stock Price or TSR Estimation Method"
       }
      }
     },
     "auth_ref": [
      "r735",
      "r745",
      "r755",
      "r787"
     ]
    },
    "us-gaap_StockAppreciationRightsSARSMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockAppreciationRightsSARSMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Appreciation Rights (SARs) [Member]",
        "terseLabel": "Stock Appreciation Rights (SARs)",
        "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period."
       }
      }
     },
     "auth_ref": []
    },
    "airg_StockAwardsIssuedAndOutstandingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "StockAwardsIssuedAndOutstandingMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock awards issued and outstanding [Member]",
        "label": "Stock Awards Issued and Outstanding [Member]",
        "terseLabel": "Stock awards issued and outstanding"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Common stock issued under ESPP, Share",
        "terseLabel": "Employee Stock Purchase Plan shares",
        "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans",
        "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r64",
      "r65",
      "r99"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesNewIssues": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesNewIssues",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares issued",
        "label": "Stock Issued During Period, Shares, New Issues",
        "documentation": "Number of new stock issued during the period."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r64",
      "r65",
      "r99",
      "r543",
      "r610",
      "r631"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardGross": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardGross",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Common stock Issued through restricted stock awards",
        "terseLabel": "RSU shares granted and vested",
        "label": "Stock Issued During Period, Shares, Restricted Stock Award, Gross",
        "documentation": "Total number of shares issued during the period, including shares forfeited, as a result of Restricted Stock Awards."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r99"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationSummaryOfOutstandingStockOptionActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period",
        "negatedLabel": "Number of stock options, Exercised",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r64",
      "r65",
      "r99",
      "r336"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan",
        "verboseLabel": "Proceeds from stock issued during period",
        "terseLabel": "Common stock issued under ESPP, Value",
        "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r64",
      "r65",
      "r99"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardGross",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockBasedCompensationCompanysSharesettledObligationRsuGrantsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Grant date fair value",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Gross",
        "documentation": "Aggregate value of stock related to Restricted Stock Awards issued during the period."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r64",
      "r65",
      "r99"
     ]
    },
    "airg_StockOptionAwardsIssuedAndOutstandingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "StockOptionAwardsIssuedAndOutstandingMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock option awards issued and outstanding.",
        "terseLabel": "Stock Option Awards Issued and Outstanding",
        "label": "Stock Option Awards Issued And Outstanding [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_StockOptionsAndRestrictedStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "StockOptionsAndRestrictedStockMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Options, Restricted Stock and Performance Stock",
        "documentation": "Stock options and restricted stock.",
        "label": "Stock Options And Restricted Stock [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_StockOptionsIssuedAndOutstandingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "StockOptionsIssuedAndOutstandingMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock options issued and outstanding [Member]",
        "label": "Stock Options Issued and Outstanding [Member]",
        "terseLabel": "Stock options issued and outstanding"
       }
      }
     },
     "auth_ref": []
    },
    "airg_StockRepurchaseProgramAdditionalPeriodInForce1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "StockRepurchaseProgramAdditionalPeriodInForce1",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Stock repurchase program additional period in force1.",
        "terseLabel": "Additional period of stock repurchase program",
        "label": "Stock Repurchase Program Additional Period In Force1"
       }
      }
     },
     "auth_ref": []
    },
    "srt_StockRepurchaseProgramAuthorizedAmount1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StockRepurchaseProgramAuthorizedAmount1",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock approved for repurchase, value",
        "label": "Share Repurchase Program, Authorized, Amount"
       }
      }
     },
     "auth_ref": [
      "r890"
     ]
    },
    "srt_StockRepurchaseProgramExpirationDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StockRepurchaseProgramExpirationDate",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expiry date",
        "label": "Share Repurchase Program, Expiration Date"
       }
      }
     },
     "auth_ref": [
      "r890"
     ]
    },
    "us-gaap_StockRepurchaseProgramPeriodInForce1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockRepurchaseProgramPeriodInForce1",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Period of stock repurchase program",
        "label": "Share Repurchase Program, Period in Force",
        "documentation": "Period share may be purchased under authorized share repurchase plan, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, repurchase of stock and unit of ownership."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total stockholders\u2019 equity",
        "label": "Equity, Attributable to Parent",
        "periodStartLabel": "Beginning balance",
        "periodEndLabel": "Ending balance",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r65",
      "r68",
      "r69",
      "r91",
      "r573",
      "r590",
      "r611",
      "r612",
      "r700",
      "r725",
      "r834",
      "r860",
      "r925",
      "r974"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stockholders\u2019 equity:",
        "label": "Equity, Attributable to Parent [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityNoteDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityNoteDisclosureTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquity1"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stockholders' Equity",
        "label": "Equity [Text Block]",
        "documentation": "The entire disclosure for equity."
       }
      }
     },
     "auth_ref": [
      "r96",
      "r179",
      "r282",
      "r284",
      "r286",
      "r287",
      "r288",
      "r289",
      "r290",
      "r291",
      "r292",
      "r293",
      "r294",
      "r296",
      "r298",
      "r418",
      "r613",
      "r614",
      "r632"
     ]
    },
    "us-gaap_SubsequentEventLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Line Items]",
        "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event."
       }
      }
     },
     "auth_ref": [
      "r441",
      "r457"
     ]
    },
    "us-gaap_SubsequentEventMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "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": [
      "r441",
      "r457"
     ]
    },
    "us-gaap_SubsequentEventTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Event [Table]",
        "documentation": "Disclosure of information about significant event or transaction occurring between statement of financial position date and date when financial statements were issued."
       }
      }
     },
     "auth_ref": [
      "r441",
      "r457"
     ]
    },
    "us-gaap_SubsequentEventTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "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": [
      "r441",
      "r457"
     ]
    },
    "us-gaap_SubsequentEventTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventTypeDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEventsAdditionalInformationDetails"
     ],
     "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": [
      "r441",
      "r457"
     ]
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent Events [Text Block]",
        "terseLabel": "Subsequent Event",
        "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": [
      "r456",
      "r458"
     ]
    },
    "airg_SubsidiaryCommonStockPurchaseByCompany": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "SubsidiaryCommonStockPurchaseByCompany",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Subsidiary Common Stock Purchase by Company",
        "label": "Subsidiary Common Stock Purchase by Company"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsidiaryOrEquityMethodInvesteeSaleOfStockBySubsidiaryOrEquityInvesteeTable",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidiary or Equity Method Investee, Sale of Stock, Type [Table]",
        "documentation": "Disclosure of information about sale of stock made by subsidiary or equity method investee to investor outside consolidated group by type of sale. Includes, but is not limited to, stock issued in business combination in exchange for share of acquired entity."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsidiarySaleOfStockAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsidiarySaleOfStockAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails",
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureStockBasedCompensationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Sale of Stock",
        "label": "Sale of Stock [Axis]",
        "documentation": "Information by type of sale of the entity's stock."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsidiarySaleOfStockLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsidiarySaleOfStockLineItems",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfTheCompanysAtmSalesActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsidiary, Sale of Stock [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": []
    },
    "airg_SummaryOfFairValueOfPurchaseConsiderationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "SummaryOfFairValueOfPurchaseConsiderationTableTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureBusinessCombinationsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Summary of Fair Value of Purchase Consideration",
        "label": "Summary Of Fair Value Of Purchase Consideration Table Text Block",
        "documentation": "Summary Of Fair Value Of Purchase Consideration Table Text Block"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SupplementalCashFlowInformationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SupplementalCashFlowInformationAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfCashFlowsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Supplemental disclosure of cash flow information:",
        "label": "Supplemental Cash Flow Information [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_SupplyAgreementMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "SupplyAgreementMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Supply agreement.",
        "terseLabel": "Supply Agreement",
        "label": "Supply Agreement [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TabularListTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TabularListTableTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tabular List [Table Text Block]",
        "terseLabel": "Tabular List, Table"
       }
      }
     },
     "auth_ref": [
      "r781"
     ]
    },
    "us-gaap_TemporaryEquityForeignCurrencyTranslationAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TemporaryEquityForeignCurrencyTranslationAdjustments",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfComprehensiveLossUnaudited",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Temporary Equity, Foreign Currency Translation Adjustments",
        "terseLabel": "Foreign currency translation adjustment",
        "documentation": "Adjustments to temporary equity resulting from foreign currency translation adjustments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TimingOfTransferOfGoodOrServiceAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Timing of Transfer of Good or Service [Axis]",
        "terseLabel": "Timing Of Transfer Of Good Or Service",
        "documentation": "Information by timing of transfer of good or service to customer."
       }
      }
     },
     "auth_ref": [
      "r678",
      "r891"
     ]
    },
    "us-gaap_TimingOfTransferOfGoodOrServiceDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TimingOfTransferOfGoodOrServiceDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Timing of Transfer of Good or Service [Domain]",
        "terseLabel": "Timing Of Transfer Of Good Or Service",
        "documentation": "Timing of transfer of good or service to customer. Includes, but is not limited to, at point in time or over time."
       }
      }
     },
     "auth_ref": [
      "r678",
      "r891"
     ]
    },
    "ecd_TotalShareholderRtnAmt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Amount",
        "terseLabel": "Total Shareholder Return Amount"
       }
      }
     },
     "auth_ref": [
      "r773"
     ]
    },
    "ecd_TotalShareholderRtnVsPeerGroupTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TotalShareholderRtnVsPeerGroupTextBlock",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total Shareholder Return Vs Peer Group [Text Block]",
        "terseLabel": "Total Shareholder Return Vs Peer Group"
       }
      }
     },
     "auth_ref": [
      "r780"
     ]
    },
    "us-gaap_TradeAndOtherAccountsReceivablePolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TradeAndOtherAccountsReceivablePolicy",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trade Accounts Receivable",
        "label": "Accounts Receivable [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r126",
      "r127",
      "r128",
      "r853",
      "r854",
      "r855"
     ]
    },
    "us-gaap_TradeNamesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TradeNamesMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureIntangibleAssetsAndGoodwillSummaryOfAcquiredIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Tradename",
        "label": "Trade Names [Member]",
        "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof."
       }
      }
     },
     "auth_ref": [
      "r49",
      "r866",
      "r868",
      "r869",
      "r870",
      "r871",
      "r872",
      "r873",
      "r875",
      "r876",
      "r877"
     ]
    },
    "ecd_TradingArrAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrAxis",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement [Axis]",
        "terseLabel": "Trading Arrangement:"
       }
      }
     },
     "auth_ref": [
      "r800"
     ]
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrByIndTable",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual [Table]",
        "terseLabel": "Trading Arrangements, by Individual"
       }
      }
     },
     "auth_ref": [
      "r802"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Trading Symbol",
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TransferredAtPointInTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TransferredAtPointInTimeMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transferred at Point in Time [Member]",
        "terseLabel": "Transferred At Point In Time",
        "documentation": "Contract with customer in which good or service is transferred at point in time."
       }
      }
     },
     "auth_ref": [
      "r678"
     ]
    },
    "us-gaap_TransferredOverTimeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TransferredOverTimeMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenueSummaryOfDisaggregatedRevenueByMarketGroupDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Transferred over Time [Member]",
        "terseLabel": "Transferred Over Time",
        "documentation": "Contract with customer in which good or service is transferred over time."
       }
      }
     },
     "auth_ref": [
      "r678"
     ]
    },
    "ecd_TrdArrAdoptionDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrAdoptionDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Adoption Date",
        "terseLabel": "Adoption Date"
       }
      }
     },
     "auth_ref": [
      "r803"
     ]
    },
    "ecd_TrdArrDuration": {
     "xbrltype": "durationItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrDuration",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Duration",
        "terseLabel": "Arrangement Duration"
       }
      }
     },
     "auth_ref": [
      "r804"
     ]
    },
    "ecd_TrdArrExpirationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrExpirationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Expiration Date",
        "terseLabel": "Expiration Date"
       }
      }
     },
     "auth_ref": [
      "r804"
     ]
    },
    "ecd_TrdArrIndName": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndName",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Name",
        "terseLabel": "Name"
       }
      }
     },
     "auth_ref": [
      "r802"
     ]
    },
    "ecd_TrdArrIndTitle": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrIndTitle",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Individual Title",
        "terseLabel": "Title"
       }
      }
     },
     "auth_ref": [
      "r802"
     ]
    },
    "ecd_TrdArrSecuritiesAggAvailAmt": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrSecuritiesAggAvailAmt",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement, Securities Aggregate Available Amount",
        "terseLabel": "Aggregate Available"
       }
      }
     },
     "auth_ref": [
      "r805"
     ]
    },
    "ecd_TrdArrTerminationDate": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TrdArrTerminationDate",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangement Termination Date",
        "terseLabel": "Termination Date"
       }
      }
     },
     "auth_ref": [
      "r803"
     ]
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock, Common [Member]",
        "terseLabel": "Treasury Stock",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnauditedParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury stock, shares at cost",
        "label": "Treasury Stock, Common, Shares",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r39"
     ]
    },
    "us-gaap_TreasuryStockCommonValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockCommonValue",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock repurchase, value",
        "label": "Treasury Stock, Common, Value",
        "documentation": "Amount allocated to previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r42",
      "r68"
     ]
    },
    "us-gaap_TreasuryStockSharesAcquired": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockSharesAcquired",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock repurchase, shares",
        "label": "Treasury Stock, Shares, Acquired",
        "documentation": "Number of shares that have been repurchased during the period and are being held in treasury."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r65",
      "r99"
     ]
    },
    "us-gaap_TreasuryStockTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockTextBlock",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStock"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Treasury Stock",
        "label": "Treasury Stock [Text Block]",
        "documentation": "The entire disclosure for treasury stock, including, but not limited to, average cost per share, description of share repurchase program, shares repurchased, shares held for each class of treasury stock."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockValue",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedBalanceSheetsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Treasury stock, at cost: 541 shares at June 30, 2024 and December 31, 2023.",
        "periodEndLabel": "Treasury Stock, Value, Ending Balance",
        "periodStartLabel": "Treasury Stock, Value, Beginning Balance",
        "totalLabel": "Treasury Stock, Value, Total",
        "label": "Treasury Stock, Value",
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r42",
      "r65",
      "r68"
     ]
    },
    "us-gaap_TreasuryStockValueAcquiredCostMethod": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TreasuryStockValueAcquiredCostMethod",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureTreasuryStockAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Repurchases of common stock",
        "label": "Treasury Stock, Value, Acquired, Cost Method",
        "terseLabel": "Stock repurchase, cost",
        "documentation": "Equity impact of the cost of common and preferred stock that were repurchased during the period. Recorded using the cost method."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r39",
      "r99"
     ]
    },
    "airg_TwoThousandAndSixteenEmployeeStockPurchasePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "TwoThousandAndSixteenEmployeeStockPurchasePlanMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Authorized for grants under the 2016 Employee Stock Purchase Plan",
        "label": "Two Thousand And Sixteen Employee Stock Purchase Plan [Member]",
        "verboseLabel": "2016 Employee Stock Purchase Plan",
        "documentation": "Two thousand and sixteen employee stock purchase plan."
       }
      }
     },
     "auth_ref": []
    },
    "airg_TwoThousandAndSixteenEquityIncentivePlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "TwoThousandAndSixteenEquityIncentivePlanMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityAdditionalInformationDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails",
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceParentheticalDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Authorized for grants under the 2016 Plan",
        "documentation": "Two thousand and sixteen equity incentive plan.",
        "label": "Two Thousand And Sixteen Equity Incentive Plan [Member]",
        "terseLabel": "2016 Equity Incentive Plan"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TypeOfArrangementAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TypeOfArrangementAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Collaborative Arrangement and Arrangement Other than Collaborative",
        "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": [
      "r404"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "US",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureRevenuesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "UNITED STATES",
        "terseLabel": "United States"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_USTreasurySecuritiesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "USTreasurySecuritiesMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureCashAndCashEquivalentsScheduleOfCashAndCashEquivalentsBySignificantInvestmentCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "US Treasury Securities",
        "label": "US Treasury Securities [Member]",
        "documentation": "This category includes information about debt securities issued by the United States Department of the Treasury and backed by the United States government. Such securities primarily consist of treasury bills (short-term maturities - one year or less), treasury notes (intermediate term maturities - two to ten years), and treasury bonds (long-term maturities - ten to thirty years)."
       }
      }
     },
     "auth_ref": [
      "r658",
      "r680",
      "r682",
      "r692",
      "r938"
     ]
    },
    "ecd_UndrlygSecurityMktPriceChngPct": {
     "xbrltype": "pureItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "UndrlygSecurityMktPriceChngPct",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Underlying Security Market Price Change, Percent",
        "terseLabel": "Underlying Security Market Price Change"
       }
      }
     },
     "auth_ref": [
      "r799"
     ]
    },
    "airg_UnrealizedTranslationGain": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "UnrealizedTranslationGain",
     "crdr": "debit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureLeasesScheduleOfFutureMinimumLeasePaymentsOnOperatingLeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Less unrealized translation gain",
        "negatedTerseLabel": "Less unrealized translation gain",
        "label": "Unrealized translation gain",
        "documentation": "Unrealized translation gain"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Use of Estimates",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r28",
      "r29",
      "r133",
      "r134",
      "r136",
      "r137"
     ]
    },
    "country_VN": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "VN",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureConcentrationAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Vietnam",
        "label": "VIET NAM"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ValuationAllowancesAndReservesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ValuationAllowancesAndReservesDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "SEC Schedule, 12-09, Valuation Allowances and Reserves [Domain]",
        "documentation": "Valuation and qualifying accounts and reserves."
       }
      }
     },
     "auth_ref": [
      "r182",
      "r183",
      "r184",
      "r185",
      "r186"
     ]
    },
    "us-gaap_ValuationAllowancesAndReservesTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ValuationAllowancesAndReservesTypeAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "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": [
      "r182",
      "r183",
      "r184",
      "r185",
      "r186"
     ]
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "VariableRateAxis",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Axis]",
        "documentation": "Information by type of variable rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VariableRateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "VariableRateDomain",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureNotesPayableAndLineOfCreditAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Domain]",
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VehiclesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "VehiclesMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosurePropertyAndEquipmentScheduleOfPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vehicles [Member]",
        "terseLabel": "Vehicles",
        "documentation": "Equipment used primarily for road transportation."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]",
        "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year"
       }
      }
     },
     "auth_ref": [
      "r769"
     ]
    },
    "us-gaap_WarrantMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WarrantMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfPotentiallyDilutiveSecuritiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Warrants outstanding",
        "label": "Warrant [Member]",
        "documentation": "Security that gives the holder the right to purchase shares of stock in accordance with the terms of the instrument, usually upon payment of a specified amount."
       }
      }
     },
     "auth_ref": [
      "r715",
      "r716",
      "r719",
      "r720",
      "r721",
      "r722"
     ]
    },
    "airg_WarrantsIssuedAndOutstandingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "WarrantsIssuedAndOutstandingMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureStockholdersEquityScheduleOfCommonStockReservedForFutureIssuanceDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Warrants issued and outstanding.",
        "terseLabel": "Warrants Issued and Outstanding",
        "label": "Warrants Issued And Outstanding [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "airg_WarrantyExpenseReserved": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.airgain.com/20240630",
     "localname": "WarrantyExpenseReserved",
     "crdr": "credit",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/Role_DisclosureCommitmentsAndContingenciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Warranty expense reserved",
        "label": "Warranty Expense Reserved",
        "terseLabel": "Warranty expense reserve"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WarrantyReservesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WarrantyReservesMember",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureSummaryOfSignificantAccountingPoliciesAdditionalInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Warranty Reserves [Member]",
        "label": "SEC Schedule, 12-09, Reserve, Warranty [Member]",
        "documentation": "Reserve for expected cost from warranty provided on specific product or service."
       }
      }
     },
     "auth_ref": [
      "r836",
      "r837",
      "r838",
      "r839",
      "r840"
     ]
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfComputationOfNetLossPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Weighted Average Number Diluted Shares Outstanding Adjustment, Total",
        "terseLabel": "Plus dilutive effect of potential common shares",
        "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment",
        "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation."
       }
      }
     },
     "auth_ref": [
      "r845"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfComputationOfNetLossPerShareDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Diluted",
        "label": "Weighted Average Number of Shares Outstanding, Diluted",
        "verboseLabel": "Diluted weighted average common shares outstanding",
        "totalLabel": "Diluted weighted average common shares outstanding",
        "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": [
      "r203",
      "r208"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingAbstract",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average shares used in calculating loss per share:",
        "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]",
        "verboseLabel": "Denominator:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "presentation": [
      "http://www.airgain.com/20240630/taxonomy/role/DisclosureNetLossPerShareSummaryOfComputationOfNetLossPerShareDetails",
      "http://www.airgain.com/20240630/taxonomy/role/StatementCondensedConsolidatedStatementsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Weighted Average Number of Shares Outstanding, Basic, Total",
        "terseLabel": "Basic",
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "verboseLabel": "Basic weighted average common shares outstanding",
        "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": [
      "r202",
      "r208"
     ]
    },
    "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember",
     "presentation": [
      "http://xbrl.sec.gov/ecd/role/PvpDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]",
        "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested"
       }
      }
     },
     "auth_ref": [
      "r767"
     ]
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r4": {
   "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"
  },
  "r5": {
   "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"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "825",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-1"
  },
  "r7": {
   "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"
  },
  "r8": {
   "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"
  },
  "r9": {
   "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"
  },
  "r10": {
   "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"
  },
  "r11": {
   "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"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13",
   "SubTopic": "20",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-13"
  },
  "r13": {
   "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"
  },
  "r14": {
   "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"
  },
  "r15": {
   "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"
  },
  "r16": {
   "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"
  },
  "r17": {
   "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"
  },
  "r18": {
   "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"
  },
  "r19": {
   "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"
  },
  "r20": {
   "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"
  },
  "r21": {
   "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"
  },
  "r22": {
   "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"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-16"
  },
  "r24": {
   "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"
  },
  "r25": {
   "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"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-21"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-4"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-8"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-9"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r31": {
   "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"
  },
  "r32": {
   "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"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481142/505-10-45-2"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-10"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-3"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-4"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-5"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-8"
  },
  "r39": {
   "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"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-2"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-3"
  },
  "r42": {
   "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"
  },
  "r43": {
   "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"
  },
  "r44": {
   "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"
  },
  "r45": {
   "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"
  },
  "r46": {
   "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"
  },
  "r47": {
   "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"
  },
  "r48": {
   "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"
  },
  "r49": {
   "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"
  },
  "r50": {
   "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"
  },
  "r51": {
   "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"
  },
  "r52": {
   "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"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/205/tableOfContent"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r71": {
   "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)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r72": {
   "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)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r73": {
   "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"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r79": {
   "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"
  },
  "r80": {
   "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"
  },
  "r81": {
   "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"
  },
  "r82": {
   "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"
  },
  "r83": {
   "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"
  },
  "r84": {
   "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"
  },
  "r85": {
   "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"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "250",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/250/tableOfContent"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/275/tableOfContent"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r91": {
   "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"
  },
  "r92": {
   "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"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/440/tableOfContent"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r95": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "480",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480244/480-10-S99-1"
  },
  "r96": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/505/tableOfContent"
  },
  "r97": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-6"
  },
  "r98": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-7"
  },
  "r99": {
   "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"
  },
  "r100": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/505-30/tableOfContent"
  },
  "r101": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r102": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(e)(1)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r103": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/805/tableOfContent"
  },
  "r104": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479515/805-10-05-4"
  },
  "r105": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479515/805-10-05-4"
  },
  "r106": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479515/805-10-05-4"
  },
  "r107": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479515/805-10-05-4"
  },
  "r108": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Paragraph": "1",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1"
  },
  "r109": {
   "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"
  },
  "r110": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "810",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/810/tableOfContent"
  },
  "r111": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21"
  },
  "r112": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r113": {
   "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(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r114": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r115": {
   "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/2147478546/942-210-S99-1"
  },
  "r116": {
   "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))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r117": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r118": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r119": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r120": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r121": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r122": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r123": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r124": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r125": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r126": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11B"
  },
  "r127": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-15"
  },
  "r128": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-6"
  },
  "r129": {
   "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"
  },
  "r130": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "SubTopic": "210",
   "Topic": "946",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-20"
  },
  "r131": {
   "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"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "SubTopic": "35",
   "Topic": "720",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483406/720-35-50-1"
  },
  "r133": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r135": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-1"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-11"
  },
  "r137": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-12"
  },
  "r138": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-6"
  },
  "r140": {
   "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"
  },
  "r141": {
   "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"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/606/tableOfContent"
  },
  "r143": {
   "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"
  },
  "r144": {
   "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"
  },
  "r145": {
   "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"
  },
  "r146": {
   "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"
  },
  "r147": {
   "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"
  },
  "r148": {
   "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"
  },
  "r149": {
   "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"
  },
  "r150": {
   "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"
  },
  "r151": {
   "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"
  },
  "r152": {
   "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"
  },
  "r153": {
   "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"
  },
  "r154": {
   "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"
  },
  "r155": {
   "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(27)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r156": {
   "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(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r157": {
   "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(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r158": {
   "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"
  },
  "r159": {
   "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"
  },
  "r160": {
   "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"
  },
  "r161": {
   "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"
  },
  "r162": {
   "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"
  },
  "r163": {
   "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"
  },
  "r164": {
   "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"
  },
  "r165": {
   "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"
  },
  "r166": {
   "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"
  },
  "r167": {
   "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"
  },
  "r168": {
   "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"
  },
  "r169": {
   "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"
  },
  "r170": {
   "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"
  },
  "r171": {
   "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"
  },
  "r172": {
   "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(7)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r173": {
   "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"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-2"
  },
  "r175": {
   "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"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A"
  },
  "r177": {
   "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"
  },
  "r178": {
   "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"
  },
  "r179": {
   "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(e)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r180": {
   "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"
  },
  "r181": {
   "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"
  },
  "r182": {
   "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"
  },
  "r183": {
   "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"
  },
  "r184": {
   "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"
  },
  "r185": {
   "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"
  },
  "r186": {
   "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"
  },
  "r187": {
   "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"
  },
  "r188": {
   "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"
  },
  "r189": {
   "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"
  },
  "r190": {
   "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"
  },
  "r191": {
   "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"
  },
  "r192": {
   "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"
  },
  "r193": {
   "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"
  },
  "r194": {
   "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"
  },
  "r195": {
   "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"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r197": {
   "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"
  },
  "r198": {
   "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"
  },
  "r199": {
   "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"
  },
  "r200": {
   "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"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/260/tableOfContent"
  },
  "r202": {
   "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"
  },
  "r203": {
   "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"
  },
  "r204": {
   "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"
  },
  "r205": {
   "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"
  },
  "r206": {
   "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"
  },
  "r207": {
   "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"
  },
  "r208": {
   "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"
  },
  "r209": {
   "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"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-3"
  },
  "r212": {
   "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"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r214": {
   "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"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482987/272-10-50-1"
  },
  "r216": {
   "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"
  },
  "r217": {
   "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"
  },
  "r218": {
   "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"
  },
  "r219": {
   "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"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-29"
  },
  "r227": {
   "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"
  },
  "r228": {
   "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"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "36",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-36"
  },
  "r231": {
   "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"
  },
  "r232": {
   "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"
  },
  "r233": {
   "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"
  },
  "r234": {
   "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"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r236": {
   "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"
  },
  "r237": {
   "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"
  },
  "r238": {
   "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"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r240": {
   "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"
  },
  "r241": {
   "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"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-20/tableOfContent"
  },
  "r244": {
   "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"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-2"
  },
  "r246": {
   "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"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r253": {
   "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"
  },
  "r254": {
   "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"
  },
  "r255": {
   "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"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r262": {
   "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"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r264": {
   "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"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r267": {
   "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"
  },
  "r268": {
   "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"
  },
  "r269": {
   "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"
  },
  "r270": {
   "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"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r272": {
   "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"
  },
  "r273": {
   "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"
  },
  "r274": {
   "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"
  },
  "r275": {
   "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"
  },
  "r276": {
   "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"
  },
  "r277": {
   "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"
  },
  "r278": {
   "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"
  },
  "r279": {
   "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"
  },
  "r280": {
   "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"
  },
  "r281": {
   "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"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r283": {
   "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"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r285": {
   "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"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "16",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-16"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2"
  },
  "r298": {
   "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"
  },
  "r299": {
   "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"
  },
  "r300": {
   "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"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-3"
  },
  "r302": {
   "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"
  },
  "r303": {
   "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"
  },
  "r304": {
   "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"
  },
  "r305": {
   "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"
  },
  "r306": {
   "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"
  },
  "r307": {
   "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"
  },
  "r308": {
   "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"
  },
  "r309": {
   "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"
  },
  "r310": {
   "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"
  },
  "r311": {
   "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"
  },
  "r312": {
   "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"
  },
  "r313": {
   "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"
  },
  "r314": {
   "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"
  },
  "r315": {
   "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"
  },
  "r316": {
   "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"
  },
  "r317": {
   "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"
  },
  "r318": {
   "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"
  },
  "r319": {
   "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"
  },
  "r320": {
   "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"
  },
  "r321": {
   "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"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "1D",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-1D"
  },
  "r324": {
   "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"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-3"
  },
  "r326": {
   "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"
  },
  "r327": {
   "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"
  },
  "r328": {
   "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"
  },
  "r329": {
   "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"
  },
  "r330": {
   "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"
  },
  "r331": {
   "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"
  },
  "r332": {
   "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"
  },
  "r333": {
   "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"
  },
  "r334": {
   "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"
  },
  "r335": {
   "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"
  },
  "r336": {
   "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"
  },
  "r337": {
   "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"
  },
  "r338": {
   "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"
  },
  "r339": {
   "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"
  },
  "r340": {
   "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"
  },
  "r341": {
   "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"
  },
  "r342": {
   "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"
  },
  "r343": {
   "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"
  },
  "r344": {
   "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"
  },
  "r345": {
   "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"
  },
  "r346": {
   "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"
  },
  "r347": {
   "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"
  },
  "r348": {
   "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"
  },
  "r349": {
   "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"
  },
  "r350": {
   "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"
  },
  "r351": {
   "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"
  },
  "r352": {
   "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"
  },
  "r353": {
   "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"
  },
  "r354": {
   "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"
  },
  "r355": {
   "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"
  },
  "r356": {
   "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"
  },
  "r357": {
   "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"
  },
  "r358": {
   "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"
  },
  "r359": {
   "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"
  },
  "r360": {
   "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"
  },
  "r361": {
   "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"
  },
  "r362": {
   "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"
  },
  "r363": {
   "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"
  },
  "r364": {
   "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"
  },
  "r365": {
   "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"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1"
  },
  "r367": {
   "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"
  },
  "r368": {
   "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"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r370": {
   "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"
  },
  "r371": {
   "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"
  },
  "r372": {
   "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"
  },
  "r373": {
   "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"
  },
  "r374": {
   "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"
  },
  "r375": {
   "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"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C"
  },
  "r378": {
   "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"
  },
  "r379": {
   "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"
  },
  "r380": {
   "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"
  },
  "r381": {
   "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"
  },
  "r382": {
   "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"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23"
  },
  "r385": {
   "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"
  },
  "r386": {
   "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"
  },
  "r387": {
   "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"
  },
  "r388": {
   "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.1.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r389": {
   "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"
  },
  "r390": {
   "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"
  },
  "r391": {
   "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"
  },
  "r392": {
   "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/2147477891/740-270-50-1"
  },
  "r393": {
   "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"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r399": {
   "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"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-5"
  },
  "r401": {
   "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"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r404": {
   "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"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r406": {
   "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"
  },
  "r407": {
   "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"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r410": {
   "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"
  },
  "r411": {
   "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"
  },
  "r412": {
   "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"
  },
  "r413": {
   "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"
  },
  "r414": {
   "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"
  },
  "r415": {
   "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"
  },
  "r416": {
   "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"
  },
  "r417": {
   "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"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-6"
  },
  "r419": {
   "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"
  },
  "r420": {
   "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"
  },
  "r421": {
   "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"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "54B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B"
  },
  "r423": {
   "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"
  },
  "r424": {
   "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"
  },
  "r425": {
   "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"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A"
  },
  "r433": {
   "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"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r435": {
   "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"
  },
  "r436": {
   "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"
  },
  "r437": {
   "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"
  },
  "r438": {
   "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"
  },
  "r439": {
   "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"
  },
  "r440": {
   "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"
  },
  "r441": {
   "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"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r443": {
   "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"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "12A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A"
  },
  "r445": {
   "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"
  },
  "r446": {
   "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"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "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"
  },
  "r448": {
   "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"
  },
  "r449": {
   "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"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r451": {
   "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"
  },
  "r452": {
   "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"
  },
  "r453": {
   "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"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r455": {
   "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"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/855/tableOfContent"
  },
  "r457": {
   "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"
  },
  "r458": {
   "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"
  },
  "r459": {
   "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"
  },
  "r460": {
   "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"
  },
  "r461": {
   "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"
  },
  "r462": {
   "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"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r464": {
   "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"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478411/912-330-50-1"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478609/920-350-50-1"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478609/920-350-50-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "920",
   "SubTopic": "350",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478609/920-350-50-4"
  },
  "r469": {
   "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"
  },
  "r470": {
   "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"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478859/928-340-50-1"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "280",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r511": {
   "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)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r520": {
   "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(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r529": {
   "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"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-9"
  },
  "r531": {
   "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"
  },
  "r532": {
   "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"
  },
  "r533": {
   "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"
  },
  "r534": {
   "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"
  },
  "r535": {
   "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"
  },
  "r536": {
   "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"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.W.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1"
  },
  "r538": {
   "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/2147477351/944-825-50-1B"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-1"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-2"
  },
  "r541": {
   "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"
  },
  "r542": {
   "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"
  },
  "r543": {
   "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"
  },
  "r544": {
   "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)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r545": {
   "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)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r546": {
   "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"
  },
  "r547": {
   "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"
  },
  "r548": {
   "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"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-21"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r579": {
   "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(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r591": {
   "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/2147479105/946-220-45-3"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(g)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2"
  },
  "r615": {
   "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 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r622": {
   "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 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5D",
   "Subparagraph": "(SX 210.12-13D(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5D"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SX 210.12-15(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-7"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SX 210.12-15(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-7"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SX 210.12-15(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-7"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "7",
   "Subparagraph": "(SX 210.12-15(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-7"
  },
  "r631": {
   "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/2147478448/946-505-50-2"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-6"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477220/954-210-45-4"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478600/954-210-50-2"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478785/954-310-50-2"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478522/954-440-50-1"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  },
  "r650": {
   "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"
  },
  "r651": {
   "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"
  },
  "r652": {
   "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"
  },
  "r653": {
   "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"
  },
  "r654": {
   "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"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r656": {
   "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"
  },
  "r657": {
   "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"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(m)(1)(ii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r659": {
   "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"
  },
  "r660": {
   "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"
  },
  "r661": {
   "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"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "48",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "49",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r667": {
   "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"
  },
  "r668": {
   "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"
  },
  "r669": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40"
  },
  "r670": {
   "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"
  },
  "r671": {
   "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"
  },
  "r672": {
   "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"
  },
  "r673": {
   "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"
  },
  "r674": {
   "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"
  },
  "r675": {
   "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"
  },
  "r676": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r677": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r678": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r679": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r680": {
   "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"
  },
  "r681": {
   "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"
  },
  "r682": {
   "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"
  },
  "r683": {
   "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"
  },
  "r684": {
   "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"
  },
  "r685": {
   "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"
  },
  "r686": {
   "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"
  },
  "r687": {
   "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"
  },
  "r688": {
   "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"
  },
  "r689": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "231",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231"
  },
  "r690": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J"
  },
  "r691": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K"
  },
  "r692": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r693": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r694": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "102",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-102"
  },
  "r695": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "103",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103"
  },
  "r696": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r697": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r698": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r699": {
   "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"
  },
  "r700": {
   "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"
  },
  "r701": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481395/860-30-55-4"
  },
  "r702": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17"
  },
  "r703": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21"
  },
  "r704": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29"
  },
  "r705": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3"
  },
  "r706": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2"
  },
  "r707": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4"
  },
  "r708": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5"
  },
  "r709": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6"
  },
  "r710": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r711": {
   "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"
  },
  "r712": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r713": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r714": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-17"
  },
  "r715": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r716": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r717": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1"
  },
  "r718": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1"
  },
  "r719": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r720": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r721": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r722": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r723": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10"
  },
  "r724": {
   "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/2147479168/946-830-55-11"
  },
  "r725": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12"
  },
  "r726": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r727": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r728": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r729": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r730": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "16",
   "Subsection": "J",
   "Paragraph": "a"
  },
  "r731": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1"
  },
  "r732": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r733": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r734": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r735": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r736": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r737": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r738": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r739": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r740": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Section": "6",
   "Subsection": "F",
   "Paragraph": "2"
  },
  "r741": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a"
  },
  "r742": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r743": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r744": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r745": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r746": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r747": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r748": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r749": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r750": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Section": "19",
   "Paragraph": "b"
  },
  "r751": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a"
  },
  "r752": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1"
  },
  "r753": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "i"
  },
  "r754": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "ii"
  },
  "r755": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iii"
  },
  "r756": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "iv"
  },
  "r757": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "1",
   "Sentence": "v"
  },
  "r758": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "2"
  },
  "r759": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "a",
   "Subparagraph": "3"
  },
  "r760": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form N-CSR",
   "Section": "18",
   "Paragraph": "b"
  },
  "r761": {
   "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"
  },
  "r762": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v"
  },
  "r763": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "1"
  },
  "r764": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "ii"
  },
  "r765": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii"
  },
  "r766": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r767": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "i"
  },
  "r768": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "ii"
  },
  "r769": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iii"
  },
  "r770": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "iv"
  },
  "r771": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "v"
  },
  "r772": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1",
   "Subclause": "vi"
  },
  "r773": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iv"
  },
  "r774": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "vi"
  },
  "r775": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "3"
  },
  "r776": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "4"
  },
  "r777": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "i"
  },
  "r778": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "ii"
  },
  "r779": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iii"
  },
  "r780": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "5",
   "Subparagraph": "iv"
  },
  "r781": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6"
  },
  "r782": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "6",
   "Subparagraph": "i"
  },
  "r783": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1"
  },
  "r784": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i"
  },
  "r785": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "A"
  },
  "r786": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "B"
  },
  "r787": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "C"
  },
  "r788": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "D"
  },
  "r789": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "i",
   "Sentence": "E"
  },
  "r790": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "ii"
  },
  "r791": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "1",
   "Subparagraph": "iii"
  },
  "r792": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w",
   "Paragraph": "2"
  },
  "r793": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "1"
  },
  "r794": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2"
  },
  "r795": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "A"
  },
  "r796": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "C"
  },
  "r797": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "D"
  },
  "r798": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "E"
  },
  "r799": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "x",
   "Paragraph": "2",
   "Subparagraph": "ii",
   "Sentence": "F"
  },
  "r800": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r801": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r802": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r803": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "B"
  },
  "r804": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "C"
  },
  "r805": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "D"
  },
  "r806": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "b",
   "Paragraph": "1"
  },
  "r807": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Number": "229",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "C",
   "Clause": "1"
  },
  "r808": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "A",
   "Number": "229"
  },
  "r809": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Number": "229"
  },
  "r810": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Section": "402",
   "Subsection": "v",
   "Paragraph": "2",
   "Subparagraph": "iii",
   "Sentence": "B",
   "Clause": "1",
   "Subclause": "i",
   "Number": "229"
  },
  "r811": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r812": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r813": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-3"
  },
  "r814": {
   "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"
  },
  "r815": {
   "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/2147477351/944-825-50-1B"
  },
  "r816": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r817": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(3)",
   "SubTopic": "10",
   "Topic": "805",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2"
  },
  "r818": {
   "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"
  },
  "r819": {
   "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"
  },
  "r820": {
   "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(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r821": {
   "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(19)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r822": {
   "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(22)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r823": {
   "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)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r824": {
   "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"
  },
  "r825": {
   "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))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r826": {
   "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"
  },
  "r827": {
   "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"
  },
  "r828": {
   "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"
  },
  "r829": {
   "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"
  },
  "r830": {
   "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"
  },
  "r831": {
   "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"
  },
  "r832": {
   "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(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r833": {
   "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"
  },
  "r834": {
   "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"
  },
  "r835": {
   "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"
  },
  "r836": {
   "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"
  },
  "r837": {
   "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"
  },
  "r838": {
   "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"
  },
  "r839": {
   "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"
  },
  "r840": {
   "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"
  },
  "r841": {
   "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"
  },
  "r842": {
   "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"
  },
  "r843": {
   "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"
  },
  "r844": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r845": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r846": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r847": {
   "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"
  },
  "r848": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r849": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r850": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r851": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r852": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r853": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r854": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r855": {
   "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"
  },
  "r856": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/320/tableOfContent"
  },
  "r857": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-3"
  },
  "r858": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5"
  },
  "r859": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "320",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481800/320-10-50-5B"
  },
  "r860": {
   "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"
  },
  "r861": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.A)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480341/340-10-S99-1"
  },
  "r862": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-20/tableOfContent"
  },
  "r863": {
   "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"
  },
  "r864": {
   "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"
  },
  "r865": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-30/tableOfContent"
  },
  "r866": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r867": {
   "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"
  },
  "r868": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r869": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r870": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r871": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r872": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r873": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r874": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r875": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r876": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r877": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r878": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/360/tableOfContent"
  },
  "r879": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/405-30/tableOfContent"
  },
  "r880": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r881": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "r882": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1"
  },
  "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",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/450/tableOfContent"
  },
  "r885": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r886": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6"
  },
  "r887": {
   "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"
  },
  "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)(iii))",
   "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": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r890": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "505",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4"
  },
  "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": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "27",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-27"
  },
  "r893": {
   "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"
  },
  "r894": {
   "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"
  },
  "r895": {
   "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"
  },
  "r896": {
   "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"
  },
  "r897": {
   "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"
  },
  "r898": {
   "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"
  },
  "r899": {
   "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"
  },
  "r900": {
   "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"
  },
  "r901": {
   "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"
  },
  "r902": {
   "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"
  },
  "r903": {
   "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"
  },
  "r904": {
   "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"
  },
  "r905": {
   "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"
  },
  "r906": {
   "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"
  },
  "r907": {
   "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"
  },
  "r908": {
   "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"
  },
  "r909": {
   "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"
  },
  "r910": {
   "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"
  },
  "r911": {
   "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"
  },
  "r912": {
   "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"
  },
  "r913": {
   "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"
  },
  "r914": {
   "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"
  },
  "r915": {
   "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"
  },
  "r916": {
   "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"
  },
  "r917": {
   "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"
  },
  "r918": {
   "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"
  },
  "r919": {
   "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"
  },
  "r920": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "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"
  },
  "r921": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "720",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483384/720-30-45-1"
  },
  "r922": {
   "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"
  },
  "r923": {
   "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"
  },
  "r924": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r925": {
   "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"
  },
  "r926": {
   "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"
  },
  "r927": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479773/842-30-50-3"
  },
  "r928": {
   "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"
  },
  "r929": {
   "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"
  },
  "r930": {
   "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"
  },
  "r931": {
   "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"
  },
  "r932": {
   "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"
  },
  "r933": {
   "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"
  },
  "r934": {
   "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"
  },
  "r935": {
   "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"
  },
  "r936": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479532/912-730-25-1"
  },
  "r937": {
   "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/2147478546/942-210-S99-1"
  },
  "r938": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "942",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477268/942-320-50-2"
  },
  "r939": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r940": {
   "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)(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r941": {
   "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/2147478777/944-210-S99-1"
  },
  "r942": {
   "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"
  },
  "r943": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3"
  },
  "r944": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r945": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r946": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D"
  },
  "r947": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4G",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G"
  },
  "r948": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r949": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r950": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r951": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r952": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r953": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r954": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r955": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r956": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r957": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r958": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r959": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r960": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r961": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r962": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r963": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r964": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r965": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r966": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r967": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r968": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r969": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-1"
  },
  "r970": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r971": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r972": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r973": {
   "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(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r974": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r975": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r976": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r977": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r978": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r979": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r980": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>85
<FILENAME>0000950170-24-092012-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000950170-24-092012-xbrl.zip
M4$L#!!0    ( $.+!EF(.,^]9L(! #X&'P 1    86ER9RTR,#(T,#8S,"YH
M=&WLO6E7'$F2+OSYSJ^(JYZEZKPX\GU!574/K:6;F2I)+:2Y,_>+CB_F$--)
M)I.1*<'\^M<\$A"(18 BR4@4=;H19$1&N+N9/;:XN=DO_^?H8%1]@FE33\:_
M_@O;I/]2P3A.4CW>^_5?MG>?[^S\R__Y[1]^^=^$5"]>[;RN7L/G:CO.ZD_P
MHF[B:-+,IU#]M/O'S]7.>%2/H?J//[_[O7HQB?,#&,\J4NW/9H=;3Y]^_OQY
M,^5ZW$Q&\QF^J]F,DX.G%2$G#W\^!5\^KU[X&51;G'))J"54OV=FB[,M)C89
MH^K_HW2+TG-?FQP>3^N]_5GU4_RY*M_"=X_',!H=5Z_JL1_'VH^JW=.7;N H
MXV:U/1I5[\JWFNH=-##]!&ES\<S]&2X'+LFX^?7)N9%_%IN3Z=Y3YIQ[>E3N
M>;*X:>LH3$>I/KNW_-G>R2G53Q<7+]PZN_)6M;AU=O[6^L( SM\MGN(RSG!J
M<'H_+OS?;[B]7 Z^.;O]Z-+]%^97KI[>6A]=]UQ6AE$H7@A^>OMX,GZ-A)_6
M\>JOI=GTZ>SX$)[BC62\N/-L5$U]U9AP!NSI?_SQ^V[<AP-/OIYZ,SN<7ES3
M!N+FWN33TW+E:>&(TUOG#=GS_O#L[NR;T+[BY,*%FWT]W;LPG/*!K\<MVY8;
MJ1;T]&:<%BG3:KXQ:_P>)U00P4Z_&2?S\6QZ?/4,3BY>&%?THY.U;2XR$1=/
MR[7YJ!4CPC;9%QK."#[RPMA.7_&%A$]G4S]N\F1ZT#Z@4%@5"?PR5HB)-/-P
M]5A/+EX8:S.=75YL_/ B56;3:UG7/<6K9XL,]=6OQ@L7GE@W$\F9N4E^%G><
MF]BUD[KXY*/9U4^]:1D+R3EA^LEO_U#]L@\^X;_5+[-Z-H+?&"5_^^7IXO?R
MZ0',?(N8!/Y[7G_Z]<GSR7B&.$K>(_L\J>+BKU^?S.!H]K3%H:?EJ4]/'OM+
MF*3CJID=C^#7)P=^NE>/MRH_GTW^=WUP.)FBX,R>'?I4P'VKLH='SYZT;TWU
MI],OI;HY'/GC(LB 5W^IC[;*LV&Z^+5."<;MKU\DO:IQ]5Y]=-IFSX,C441!
MI.6*!*\<L2)0PQ($Z]V3:NP/REN@WGH^GTYQ+J]0B_C1?X*?OARG@OTGLSR:
MO8.,\_]HE%!).$DX"YG(' +Q5EKB>)3*<,,LR">_$<(XLNHO3R\,[>J1TB@U
M#]D0(T+$D69!0D(J)1N,]1ERX/[\2$^5V6*H;_%)D_0*/VON-]2_\5N-,FEK
MC/(,'T:!2(/2:*WC1'EN!06;&-?G1_ERC&QT_!S'.?6CG7&"HW^#X_N-D"+D
M<L.MO-U(E7!,F\!)YID2"2KA0V,@PE@9P#GMW(7UW,;%3.V"COS>O498+>3K
MUR<HD%NY/H)$LA^A@ONM_>>:4;^:^MB:&(MA:QM"AIB)U8GCF[PDGN8R;)VU
M5C98H*?#/M$06\\G!P?UK(R]V1ZG(IPH2F@OU7")&93WELKD"(##56%2$L=\
M)D(P88!'GWU^4LW']>(+'SY^V'V!.-/46^-ZA!(^G0,*]]5#=X))FG4DVD5)
MI%("UP?_#!;GDKR,2OGO&#H8PZA.*!NHY8B,-A+GN2,.6-:9^IQBO/70OT()
M84**P(BEJO"*!.*B0)1@U 0O=%22?SWRM]/)(4QGQV]'B%\X]I<(C8=E(A\:
MR//1[W6^!!H:7.8Z4.0BAS.0&D@ Z8E,&4!'RK04%[BH*,BM-)]^GDQ3 ^,G
MO\WVIP#5,>+2K60@9A:$58$8 (-+Q@RR%9JPS'#'3&)>FC/T*Y;$U@O(@ "8
MWL$G&,_A'<3)'BXHTG@!,%_/R,E @^>1" XX#V,\\<SCM!3S#CS@._)M9O0'
M/G6_N1U.4HND!Q1 %G 14Y)(M>")]MX8?"7B4_RN.0F$!JJU)U&!0V8("44$
M- %)O0"OE"V+=M.<H!CQ ./JX/;3BHXAI+;J@J.BTHFAH@)%O$P>1Z,M!/B:
M!7\'-)]?'AW6TU:K%SW%OA^Y$CZ&M",GR1^3PFQ/?F/\J6#%;%"WFTVD2CK%
MB$Y>X6P$SD9X--ND BD8ZFYO+L^F:2;3-RA4OH! .[GW,#UXDPLL%*CI7I[0
MGKA:FIY>M"NFA8<0EJ#Y[9?BB&PUK=V/XZA:QV2K&-*_/FG0H!D5)Z#]##D[
M+WB0G)KFFT=-*B#T]*MGMG\VD_FT_:MUM+9.YMJNZ/./EB;C#2YFD!XAR@E!
MO!.*Y)P,IT:KJ/.3TZ]"JW5/_ZI3^3O7,*W:8<.5-O?SG7^[J&.__O+IXQK8
M*S"W^#/ARXX.1W6L9W_ 0<!7I!JOMG[[&671NYT<P.X,&:M\\_=);/EU^ZAN
MGOQV>E-Q>?TT[B.4OD!)'4U:,$7NQJ?!XMF_/+WRE;^=CO5L9$^O6H;#5MK/
M9C'STUF1F-\63CW^CYT]Y^S:V7JF<[=J(NB75RRNG/Y]^I*G%VAX#4F9C-H)
M2XKJ1?8MHJG1H +-A94IJFCXLDEZCY5BMU\IT1J_':P4YU0RY@AW)J%M[)'Y
MBZDL0!8[%*+12U^INS(_>I1;9RS_%YCL3?WA?HVF^H+M6]7T?+\>>Y2.T;PX
M/W^=C/?^#?^/$O#>UY_]>/E<?P=:=L;URDAE+4?U)@(J)'RPS<C_#%0&*HWB
M7O6-EJ<8M3L/39UJ/SW>]2-XDW=GD_CWBS#V$C7 Y!B@O=0] 1>!IMD5-#F]
M<B^:& \R2W0Z1"HT<998*1(1GJ=HA30^]$Z^SNQPM+]?HR%Q3JS>?YZ\WY_,
M&S].*$N[J/C1&"OV^>P8A:V\\A.4KZT->="WT<;K8L.A^^/1U [16G0,N67&
M^8Q6T!J19WL^VY],Z_^!]&HR_<L45Z7Y,$XP?;\/.^,TCRUB+IT^_#0VTP%]
M(MJ[5**A:R):GVB.H7-B'#%<"S37?(@T])4^9RIJ(1_HCQ^B45S<\:^LLYFO
MQY!>^ND8556S5-*(BY;#]Y$&=8M"[\ EAF:S9"@Z"DTNY=&@C@Z$B[U%MEN2
M9CO&^4$)L$-Z,]N':;EO"OOE:9]@87KWRI#HS"B$)() +<5T=,7G\\06E],*
MJ[G13MG<7T/B9M*V,-E:$&\.VQW"G::90U%F;^:S(@S%7%P;[069.XHZ"X3F
M")$2C7=M$P$T^XP,*(>NMR+XOC[ E7Z3W[?;)S!]D_\RF:0WTUV8?JHC7!3$
MTYNF*(B?4)W52Q<\<7N_571HP>=D3 ! ;XS&$J)6Q+E 2= ,W;20@_:RKP2]
M)::^GX)OYFCF%QDL,>K)THW%KC2>XTR#-8%0JY$Z498 O"_^E0U@(G!I75^I
ML_W93U/95#P'@V]AVD;PT'!OJ?%A?/J$GNBSKL3J5K'TGA&N!#G>^?'>"<'*
MGW_4X_I@?O X2:1\L#8D8G22)9B>B8^T;*8E%;1,AJ;>(M_S2>OZ+K8*WM7-
MW_]\_&<8Q_T#/_TJA%%B&\W);LEK^):PW8I'_O#_-9D^GS<S-$:GYXV<T\_^
M_+UON6&:7P#E[*:3MUZZ^5'J:V=T1'^4H1X0FDB/OWDG42,$P0SU"1RG?>7:
M:W=9KR+KJSDZI[/Y%/#&5_51^6W9CFIG,01G(N71,B*4#40"5<2JB!BGG#,9
MDE6Y=T3Z1HB[7-YN:O_61WQ!7!=_Q94M7HM^9<Z XD)3(MXC86B('I)V07G1
M-TJL'.0?!'Z[437;CW(ST5/M/+.4H%%"B501_;&2[:9\\MEZD[3U?>7:=0IT
MK82T5AOI!;%<%M)J25P0@)264H;$N&*]#:#<.M#5NGX/'^?J<!? L^Q#9IXD
M7;;SE7<D>!F(U4YD8:/)(O653%\YWE=N9BY"D8_2K_,\B,!<))QKAJXW&.(,
M\@:7GC'O9033VU#R*_2W9_ [0F#:&2/S[M5A!-M- [/FS\<+93CR37.U!GX'
MB\3\9K\^7!M3V?/,&5!/%,,?4I2=4.<UB8G1&!V75MF^4NN&#(+%WNCL_3[\
M@=8:S-Z@_3E="O[U0:<I[H7(0'@H298!S17O&3J]/L3$;?:HX?I&PQNMRXL7
MEFA.7V//HW%4SN6@21^A_N01 ];"I%]3?:%2IJ <<<J4A S/B%?%-M,^&ZZD
MIQ3ZQKTK=Q&'.."J,=<D<#:ABVA+%J6'1$((D2@EA%)49P^]35.Y4QRP31W?
MGXS2#CJ(DT^M_[$^UHT%X9)U1 "SZ$:4U'EK' 'O**<RTIAZMPUTIT3O71B-
MZC;+=6'GX.^/.<L[,,ZLD:IH"*2G4.@1HH&*0LB\L3FF'GOO;^<![_@PJT?U
MK(9F9XRZ8#:9'E\DZ.G']?I$VX/B8#-J[&!R+$0I9\D\12$3Z/)EU.""]94H
M/4UA$-U%X(.)2 2)AEUQPB5P0RSWG@1)C9"L9 WU+I9YB[V0UY/I;'^[/6#D
MUV4S)#@IP&LT%W+&'\RA-LH@2-":1Z."<<&L&2E.ZA=L?=A=YC[O;;V2#O=Y
M0[1*1)])*L<K9/) K)1 3&)@/"B5?.PCK5;J% SN].K=Z1#1(U'(N,91022E
M&?%><^(TT"!-SLSU;N][/4S>%0%1BB8&Y8GUJ+5E.4;M3! E]]<9QCP-N;<I
MB+>BY_-),WN3V_C(H\P8BJ*<<D?S6*&QA>8Q+94<D)Y&LJ0-5RSHWN:YW2E2
M\(>/^_48T*,Y=^.Z.#%1N, D6/0G$]IFE ?BDV$D4ZM2#%YXV5LGIJ^G]CK<
M#XZ2>1U03UI6[&?-%6HUKLO)RF!0L6FD4U_)T_=M^PX]G"BM8]D&HF5&K),&
MG1N1V\(;6<@D5 []Q;HK#E?.#DXW#I<;C>GPR$)4#I<=18/J<OPX.D^\8KJ<
MI%1:@9*(:GTEP7U/"&W/WD[J\6QG_&B/"46C+3/6X)L36H$Q1^+ >E**+7F+
M--7],R)N=D<GXZ;4AWF4/E@T <VZ4B*(EB1QIS-!(\\1BI+H=>9H!/8NYM;/
M,'67NLDD84%KDF,Y^)]9.0TD)$F&,QXDVGVQMWE)?3Q8WB5IK%/*L$14Y!1)
MDRCQT4H"A@:0QMFD>E>38>4QZCYHI7(4F9IBE7.TRAT$8D,L]82H 332D^>]
M2]WH'=U6$%.*+GK#?2*F9-M(6Y)OT&HD5DL=<K#9F=YFUS[ZL/-WVE4/=S!C
M%8:53SRS4N7*N5*!6,NR_T]1D1O-(FH)R7IG!M_.L#HSBNN]<4D^7C_S*FD-
M7$EB*,*)9,H2:TPBG.DD0]GBM+WU._MH7G49/$M.18_R*K-#-8V@CW O! F^
M;#\C98+H;:[:-CXAU:6WPR?8A3B?ML+S\JB4^8/T:CHY*-2:SUIT?9-/2?,6
MIKO[?@I_/K[Z =>4AMD>IW?0S%#QSR MJ>I<'V 4?&*(E>B?.G1214!7*,9
M% C.F32"\3X4R[P(5*8K:8!D%&>>:![1#U3!$0^ ?J",UC"MLY7KEH71@_J7
M*S)D,SJ+'CW%!!(96?%<ZOP[8B%:H(Y9R7J7I='?S=&5$%"K%',YXE=.ZDNG
M2+ 4B+921FB#F[U53?W-'>QL+R''D!C:UZ6>+)$!4+P<NHW>R:R%5I:%WN4>
MW.@=;<_QHTDQ!1YE/";QH*T1MH1B3*EK[M'&2X8$:@P+,3 #O0MQ]H9>*T"_
M))DW0E,BG"@'GI!H(>9,H(1@%$N4Q:7O:J]LHS*5D'LPAGA%$5PXJNV0LR F
M.!I,E@"V=XEJ5Y7H\D>W*-%U>Z6R\JK8/?!/DN+4*DM)$*RPAK'$Z;8-CI7:
M>*HE[6V8I\_U-Y8DR$;I')DF3FE5<ML#L3D(XJ@!J[)D5/3.2KA+;L["9EL(
MXCAMI]3VN_&CM[Y..^/G_K">^=&ZY+DEFRQ'?Y>@U8W^?[)(I\@4.L-6@ 41
M>5CZB;B5V;/)*9>D$NCPH_\O;9(X^6A1 SD>@/-(36]Q977E/)<3+TX.K+&H
M](6@:*MF]#(L\YJ4NK?&!A?!]:YHP5F9$%S]?_>C.?SY^.S7O^(32\N=X]]+
MPYVO:NF=WK0S/IS/FO8.UI7%4/8*FK;KVQ4IN0AFQXLT^5?S<5J;S80$4H2(
M*.6Y0F]&RA+729JD; /G/E/6WS+7]ZHA<W:4H2TB<_F;:T.X;&)6.1(>RQ&W
MTO?$QJ )4*;0_0Q,Q]Y*=6]V@7H020!J/=<J$T\]H)E0NJ0HHTA$< 9AM$%7
MK6]T7(L@^2IHR80'I2W10G(BM4O$)[1Z#%4R<INS@=[9Y_V("JW&^P6&-JHK
M]2I8B;IFQX@%?(&0H%SF/EC7WYWTWH4O5E"E C@@#;4C+&5TB%- .R8I(-8E
MEE2F,;#>'E;I8Y9*A^XO* ]!H=/+0 LB2X> 4,H4(KF8,N5P=_\B2SW)HU^%
M()6Z"*XXZ&470QJ!]@A:'P2"1$^ YMC#_-)['9W\=T!#92E[O$L2(T.]<CZ2
M2/&'3-PCB3P*5-*1*^]RR.N60_$PE2Q68?[=IM5[SR)^W3%JS((RKT@R,1"I
M9"@G"R*A27"TIY+7MI<[HC<PZID=]<?+)23Y+B<L $G[Z),C'E4NVK6H<2TO
M01V;908O(Z)'W\BP\AJ/0[;YBK?G,Z6.%WNC[(P4+5=*9P5/$N-XJ12 [&_>
M;#^#6:LQ(S.S.2M6*OV;4I$\".*MXB2DB 1.@.Y8;QWJGE?@Z%!'9*&B=:%D
MJ1NZJ*CJ7"E49P1CP7/.0V^IU--4P [/$&21T'Z4DE@:4DD9CZC+-4=7+"7)
ME/1,+-UQ7@][.TL-Z*I*$H-#>QLLFMK:"&)DC"X[E:SKK:W3O_#="N*OJ"K*
MD26!UFE2"$0N$\\T$&= &:T [=7>Q8C6IH+:*@121:5H5H0Q)= '5+DHEDA8
M3"FFH$-RO?,!;RI*,Y_M3Z;U_T!Z-9G^98J WGP8)YB^WX>=<9K'EO!+K^V$
M<LD)59VH%FV 92%($FBC20I0*A8RI+X48"@SO+]F]CI4K%F1T:TML\8RPLNA
MT%*FBP3&'-%@O4);0L30VTV0'F<%?H=;?#Z+[OLHF[7G 0BNO4']B&/PUCGD
MFZ0#@+">]JY:QQI0=DEVN_5>690[%7D@DN$/1]$+5E328(.A7O16^?74J^K2
MYXU*9NT0)&D$(G6FQ!JI"8\TR&!,5K*WJN].D8FR33F;SF.1I)TQ?G5O"LW:
M9+7EZ *:D)((D=&ETSHL+!25,F.9RK)MW%<RK8.%LJ+P;A*!V62)%0G] C!(
M54,5#L1'_*34K%@Z-*Z)+0<\>X,PY0V%$D!-).@2#0^X2MF $*QW(8W;9 .>
MG+PI&[]+R6'I0S #'-4AH/XWCA*)1C=QJ'4(XAGJ'<$#7?[N[WVAZUZ9U"]*
M<CUJIO0>XOYX,IKL';^K]_;7)X4ZYQBM1P-0NK)7ZM!V<VBG$335.%K6+*;^
MQ<%OW"1\B;.;'D[K1UJ@GU(>)8 BSJ?BZ'JD%Z614%NJXBD*H;\UCQ]_=9T5
M:$LDOLU16!)<2?]4T9?">L@?,8-)1CA/>Y=OO?)DAY7WKNE/WY@5P5C97[69
M(=?RDFMI)?%6.Q*HS#)%G<3:5V+IP9GKKHP$*H15-G'B&)34E(A>C&<!GVZM
MM(JJT+\*T_VJO+HBW2"#EFTS&.U+Y34T\YS7D7!?2E8Q09/IW;FJ_F8T=RE0
M,E)O2WE$E1B1@:+Z9O@#0LH)/T,GM[?P]]71\"^Y71=LK7(XO'FW^^%1NKGH
M%VDAI"7:NU"<)D:L=!J5&759*B\C] X/>W6RO\.<ZU*>)7)&2_\7M']YTL2+
MC) 7@:D0G([]#3FLB271);4LS4Y&U$-6M, 7B)?*$NZT\1S5%>MO6X2^;T%T
M2B;.) 6%]GC9@K#>E/YDFI2-B5+61&;36Z?R3G&\DRU8]"M+9LO[R>O)N$@7
MS-;'-D=3SB072YG$TH&)H^M/T?\71FE! ^JIV-OJ^O?=+7KS"::/=J.(.B]$
M\IHD6@I<!>L(8B5"I%#H:P6!M.ZM;7BKA,"_P!BFZ(>5; >D?]VTP8Y/\)BS
M JD''V/V1(NVLIQ!O1>\)*!L**<:DZ6]TWN]V]-:$>E"S(ZC*')9#G$G%$5+
M#1J8(0#5 $FEWCK10X!U]0'6%;FHP%PI,5]B=,BUF29B0VF5J0!U"+?,Q=X>
M9N^Y6; J@FH'LI2L,Z6+DD0[+Z E0#1%<[R48DZRMT7*UL L6%& MIP)9SX1
M9] 8D!;UEBMQ)9^!6N.,ROTK8-;_PE<KHF4V@N8$)'+'B832*(IG("7U-3IC
M$M#>VNVW[NE]_CC6V_DT[OMFK3I[,^K0AU+%/ RE X1!8R[13(0*X(2"+$./
M4;2STINW?N=#U![M3=2+L8"R*AT1.:$$EZ"*Y<@FEJ90&AH8PWM79Z9W)_"7
M4_6;<1HL4YRDJ$L)(":)9\:0Y(+#I93)I]XIRIZT>N\JT,BXTD'$7/(#,Y&1
MEA/S@1)@ 0T5:KA*O8T)]_9@8Z?T\9HG,(1+!T0BEA'K<B8J<(W>H/7@>HM>
M_3Y(O!J'C\D("GT Q#B!D.<C+W4=.0E14J\2-\'U-M.SC]JH2T-!>9I*'^,,
MMD1SD336:DV,S)JB-LJ\OV?V>WPF\3N$KJO3ILPIGKSTQ"EJB12EKVS.Z,G)
M1)6)#%+_6O[V(QU^-4XW<\%R4.V11EY.!U/B)54D&,>$3=YSWKM]E94'YX=2
M;ZM6[:4,IM"F; 26;B2IF-+@\ ?5GAJ@5O1VS_[V7+L=VRJGR+@1ZD\^C+X%
M00/C+BDWX8+A\UV,&SR55)I284,MRFRX ($PSX5U+-C4O_!9;]3C*H FE7T^
M[P@74946G8X$S03)7EF#*!-#7J>PR:ICTM]!T?.W?A]% 8"YC X'3406A]"V
MNPQ,)Z92,DZM2^KQ:C/'5Y/<Q3+5V5M*DG>EY89NZP&@(YDH#=Y$05UO-?^M
M\E]/_<?#^:P@+4KI),^0[FN33\FRB8GI0)03Z%'0((G3"O\T,K"H-7C>VWI#
M/:90A]$7SIB4%CWSE*(F,LA(@A"&9,U83I)2GWH+@>L2?5E-JAU2-E A$[KO
MI1.O+/5XD:0X%I\=!1IE?W.9!V^^%T[12K@VHHT= HG..B*! ;$>$/ <5XXQ
M9S3T+F:X!GBTG*:\G =CLRAT*L6%F&(DX">$.P_94!$%]#:;=]7V\W(,+B[
M!,1Z%)H )5,U$BL#NJPJH)9/,8K^[ENNC?AT1BPO?4QH#COC!)'HKA ;;4G+
M*-WFM#>TOQJZ-YN2/:BJRKUG-!I/3%*>2,UT:5*!XN<]=: 2%_TMU+EJ&.R#
MR1%D"% ,9>'*!K2WQ!O3Y@: ]SD[E9<>AUV/@ O/T6L3%4'-SDI%6HG:)2;T
M1E'3&Z5U3'WH)+&<;%=!N2[]!8BAJ% 77>\U('B'R QBMY+]/;JT'F<&5A#3
M%]Q1FI&*,93S:#G'<I@>.9I9)BR32<C>GNRYTQ'Z5W-4P+/Y%/#&5_51^6UM
MDB5%2?HOS;QLX+246LX(T-RBNA4L>&V-8[T]#'!#6Y:3Y-7W^[!(P3M-8GV<
M@B89Y"" 9*"E5@7J5RL-$"%T-)9+G6QO$U[7H0A"AR%A(;GR'!UZ$P6:LRHD
MXF5)G020@J-ODMQZ*[KGDP:%K8T</DY94XQR$SA1J?2.-:*4-=6*^(QTM"%Z
MJWN[4;T>08 .#V,(K7+,,1"AE")2EO)7I9D \]30Q$'ZY7L?][9 ^I=5L"0+
MQ&F4(.U)5%"BG0B)CH$F(*D7X)6R_2OA4S81WJ&R@B\U&O_P1_7!_.!Q@IX+
MCD4ET2JD2*+2#<#2DGML UB7-:6QMQN9_:PL<?'"6NRLK2GK9K F.TN MWLI
MT9"@A"(!')..)2-Y;_MM/?(RY*N)2$JJ<Q*6$S3B-)'<4.(%:A\0MJ 9E)XV
M?66(=6A:LQHQE\HGRE@I_.=0S*,3Z%=E3C1HP1.-^&EODZ$>OYBO()PN5:1@
MI"!<ID0D0\BW$:U*+A75W):R[;W#_3[6,5L%Z;05QBG$Y9S+1I^0Q&OTN&4I
M$]66A%I^8N-25ZJS4P[2TG+2UA AVTHN3*!_ZS)11@F1C,^,]C::=*\N1F?G
MJ=]!6V7XZV^N2QA0!F>L!D]2IL4(D5!Z:7-2R.8,%8R9WG;.NV5VPD.WG^R4
M.A$@L(#*HE3JEJ6 A(Z.>$>#]-13K7NW)W)S6B/J_3E^]C@-^I@M8]003X4@
M*%F:A!@\"5D*:9EV%'I)K5YI^M4<BI:).E'J13@O<JD<$8EUR!M9R!"2< "Q
MMPFIMX[/MBBYT\9:4-D]VO->,CFIE<]$9%,J!&842*\S<4D8GJ0Q*?>R/]\-
M8KC\UCO+T5^* 0A(ECBET?<Q'IUAQQG1EH=LK5>&]XX4:[!'U0/ 5((R%"@@
MAN9(I"C9&@&%K.QS69% !=E;@[__Q7)705"IE #I2#;,HJA&L2@79Y)**:-:
M=-"[[>25HV8/XHU*@H@V>X*KRLIY=48\6BTD@TNA%&)/M'>6RT-N6BYGJUB9
MJ%TY4^Y$*6>%OY-@32(LZY"#CH:9=4WJOQ2GW6F:.10[\LU\5E8L+25[;3GI
MO$BGI!52WJ<2WG V(IV20UO0H:/&J;*B=UOZ=\IR>@<-E,JR2)Z3QMHM91^J
M+\@*@K+*@LR,4\(@IQ(38<06(;2:I<!H*+'VOI*T5^<P5F1G>&\INF@$H/2[
M9U(2QXJS)I@PP*//?NF&X^K41J0JEX-[WF@H5K,CP2 #)ZNB9S)SHWN;OG(-
M[U[(^EIHC+51XE$#32J3H(U'Y1 I>J=!$<6%SZ4VDQ2]/4:YRIIB0Z>:%>^V
MJ6AI5B*C* A4@> TJL"(6.)*P6^K!-.]RS&XD6FVY_C1I$0E'Z?.2UPR%CQ!
MO%%$HG> .@]_&.DRFJ3,*[[T3;:[Q@"[0]FLM; 0B,JE? "5R*<9ER%SSJ44
MZ*3V[US/-P(++:!.C[<^[#XR1M54"DTYJD ):)QQETB(+!%-65+:)F93;U/2
M>G-6?3EBI'GV7$<H#<\9D288XJ7EA%+KE4U G>MMT^;^G==9A6P)PRQB'C%*
M( YR[XE#@Y]DYT [SZRFO2-@+W!P!4%5+8W0 CB)291JPX(29V(D1A@'W#%G
M0^\,K+[$&):SDZ@MDT8C@:/UY>!':0#G+:HG7#XM02=GE^ZK+3<^UE6=$FVE
M3S*7@YW*DG)T"5=*">)+$2<068K0.YSIG0[_#@SJCHY!LY2 ",Y\L9LC\2&A
M/'E1MGR"XKZW=%R'T/4*$L2THQF<RB7BR8G4IM2A<('HY%-P)BMT%/M*TGME
MR9[0%=)[B/OCR6BR=_RNWMM?G_18U"N&.<11%S2J'>HTXFA"HRTS9M"M]3+W
MUA#H<0++<N*Y&M"@UH$2SI!.4FH@ 21B9\H .E*F^[<S=-56.$K:&FV%XU((
M[;DE*90<96X1U%301$G*/+HY"OK9_^<&O^9L;^./ETNHO[H<I#(2G4N=';HL
MH1PSHIR$S!,!-/AB4I[EW-N$K'OIEM,X<GL H^0I[->':U/LR)3*8K34[;10
M\A("V@0Z"Q*I5>A=2I[Z5TRP)XG]*T@Y0&HAF<"0&-H.$F6C, 5)P"9E7;8J
M]]=NNU/]L-_!-[ _&:6=@\/IY%,+C^LC4TJH5(H[<H;B)',(Q%N)IAN/4AEN
MF%U^4>GU"&\9ZSP(]#X ?T%#J>P?!LG*_J%@VC.O^I<5=8M<S^VF]F]]Q!?$
MM=':425 _"#9&_0O$D>352&= S4Y2>MMAMXFA*Q!N<D5J0M@F2D&1#F+ZH*B
MN@B&,1(E2T)8YE)_>YWV/G*S(L3, KT<9XBR4A(9;#DI)E%8!44[CEM-32\W
ML5??Q>VA(FUS="%:8GWX>#B??BGG>M >_H7?3IZ!OYX^X/3*Z=_E"5<\[84_
M;BX]K5W#<N6.#_NP^V(R&OE%O8RSIZ;Z$Q+Z_.VOBRWM9Y/IUR^NFXGDS&SA
M@VYZ]:7OEP]?P'B"&'S58T^(4T9UXY0N/.+IQ='?///%LZ\AR[=??/5:7GK<
M+9?GMU_JHZWI.<>Q&M7CO[^;C"X*9_G"YF2Z]Y13*IY.\?+3<M^3"L%O>O/-
M)W<\S3[.2)Y,9N/)#)Y4L\D[R,VO3UZ]?O\QY4!!^EB\BM+7-"82&'?$1ZEI
M-($E;Y]4>3HY./G.1VM48!1A)W-6_!!$N""S)#Y;[0#-VV13]>ICEL9FJ20:
M%5Z@_DF!V%3V$*1@'.V^$)W#VR3DXLH$@AY,.?J?';&B]$VW3DN7K V9X6T@
M--4V*$)]>8;RBK@RS.14<-'KH'5Y6E8X$@."\(""+ %X:0.-LX&,EF8PV2=1
M;@M>RAPCR2V0HH%#G)&)*&/!15X.K0#>QK7#3XPB3"'H2J_Q004@P&>9390T
M6%O&YH$KYS/1WBI\J<4%B1K0.%/&@*0JQ[(@PE#/6=8$*"^E,J4BUAB#Z&U9
MU-)"@#+3;()P7!E2.I:A4\Y1;X=@<7F3R$XE'"TM8S,X=+ X!8'3E1']#,?0
M>A: .M\GFJ@I"Y*R*\V9\.L@<7D3H\1%-/(@JV+7:=#6/WG:"T[,+J@@C$"S
MLS ,#[@T8"2)VE!IM$.]%"YRXBV9XC9D[,D:.(-"HQ@*$]*6M,W2+  CR92C
M(T89:N+%-;BE_-R&^7JR!C@;A"&N"$ ,I4ZZ)U8K3W3BU@=+(2AV<0TZE/JR
M!D_;16@F\VF$9O'G/HI4:X>@FOGM'ZKJ%_RW:F;'9:Z'/I7#2&0V.=RBFZH>
M/T/=1/:A;#&=?! F1Z2I_P?OV@J3*3Z)X"?/4&\<GCXDHQU1;H$M1@]GSP[\
M= \?TC[R67LM^X-Z=%Q.C4)3O8;/U;O)@1^?WA@F,S2N\-YBC! _JO?&6R/(
M,WS'/_^):?KLEZ>'YT9_^/783[[/\-5=C>1LHHLG;ZK#694F\S""\X,L>=(P
M+4O1'/KQZ; ^[]<S(/A)A*W#*9#/Z&:?&Y@\'>9U0\%Q?*[3;'\KUS/2FFCC
M\TM17O5;69$+:W']Q+_YONN)</7\XF0TF6[]B;;_/;M^MI\73!0FHW2>+O:K
M\6Q/:S^Z=M8?7N^\?_FBVGV__?[E[MTG?V_^Z\'4=U\^__!NY_W.R]UJ^_6+
MZN5_//_K]NN_O*R>O_GCCYW=W9TWK]=]/?B=UN/_;N_^=>?U7]Z_>;U1O7A>
M<:JDNVX%3F924&1+TG]Z]F!005NH:":C.IW>.6WG7D;QO="A[[1>]P6,K]^R
M:BZYF]2\>O/NC^ITTN='\<TG/FD-B/%DW'I^=6Q]I%<?E7"EOK@M!G(Y<,8]
M"1K5=>!:@7-H>PCWI#IQI5&IWSJ.7HU]B60DJ+=>3.*\Q ;*=L(J%P\-[+^=
M,<R%Q?AMD+3N)>U[K:,N&87>:<8_E>)]U9LQ_'S=K-O1UN,2?-LB<M-(]X4W
M%LRRJ83XI\Z8XQNK\TVM<XWT,V_0;E>,@,[H'I>^P%[Y2$1(CCE PSN(KJ3_
M;W,_158=';^#P\ETAF["9'K@9[\^J7%J#42DV604_&@TF:$%ODI5_,]_0M]#
M/_L&5*QL>/_K;Q^VW[U_^>[W_ZS>O7S[YMW[ZNV'=[L?ME^_K]Z_J="N>H_&
M4\5$]>9=Q=1/Z>?JS:OJ_5]?5N=,KC-S:_OY^W*9.2'77Y?>3<I1E[;+\F4Y
MW[Y\M_,&;='7+] H_X:6O?I=U\A9*JWAC$OH!7N&6A8ESJL()$BJ S=6@#==
MR=G;-@K^<A$;OR!E6PD_(0?XEOWR-9+\,3D&/R4P7B4=_G4^ADK0C4Y77$1C
MA(=R-B,@L@6MB959(P$DSX%29U+H:L5?U4WTH__$E7R%GS2K7,NRJ?4M$V?I
M<':W(5<_&NZ\>;<\J^([5J9+NT)JSP*/E'#%5<F*YL2+4D(A4<6YE29KZ,RK
M*/77VJSD]3 L9'\-B_?OME_O[K3FPV!9=&!9G%O/$]/BU;LW?U2+_]Z_63WT
M+O[[T<A3SC343<F!J'(]@FH\+YD,6YW:'Y)Z*;F)Y30(6GS>91)\C@2 >QZ8
MLB;X[T7 EVV*Q2N<PNMV!JM<4TH9$<8J-@18^A]@N7I.7U[$Q9U876AF@C9$
M9R:(M,R14E>21.Y3"(IQGF4WK/X.]MK\P/&LE+/NE-VOF?)U)-O>>?>7[9W7
M&]7.Z^>;=V3Y==F_N&/,[.61C[.69-4D5],S4E6^J9I#*%FWD*IZ7-6SIHK[
M;3#HVOC:  O7P,*LU.>Z:I7\?#8YG4L90-G01AXIMY.1/Y[,9_CX(TC/%J]B
ME&[BC$Z^$$O.V6$#6PT<^JF?P<6YM\]^4MZ/ YB>OOU3W=2A'J%<;IU^_^0F
MO"N=+4G[.H7O>O+TFHOLAFO%!3JY^,O3V?3K,9QLY;<<<.7B?\8)DC %__>M
M]B<I'UPQS$\PG95D\1/R(AM=Y1NM")1O@\).L1Q-29UI^[1 PFD;[0@PJ6*D
M4C+_W1LY"Q0N&<!3]+3:3)0V$7C1^N'X^23!9>^K*7>4PR+E.9U$FJX3F!<P
M\I]]R=_\%AXC*Z5OL<""1M=0W?1QJ^/.X9;;+,/Z28(W5.2,MK:A02)7 YK>
M4KABGC(C>?!"VVXDX;T_VCG)OUYDP7=FAU]'/:>(5%Q8R^_ Y#< IUT9;MI^
MFCZWLW5:U*LFTZKM?%/]ZWQ:-ZF.A06*\7,!(=O;IGM^7/]/^_?/7>)05ZOX
MF'!HK3EK9_/=YNYF=5(T=UI=Q)?J]63S2OZY2L17(]=ZJ:M__7K?SZ3^;@'L
M:KI7"> *)_NH:3TX$C?FA#A&I2WF4^1EQP:-HA"B(U:%D&C.0LN.(I?;*4VA
M:4[^^;T> UNBZ20T8]6_^]$(CJOG^-$4JA?3^M.WO(6'P_X;-L!O0S>J&-(
M@/A0^KRHK$CPEA.D@$[)\PA\:73C2Z3;[AR_73%%;V'Q]EBL)$J."E$1#2A,
M$DII#_R,:!8S:)>,UJE3\CS'7]],WT\^+]/EWL7'OJAA;_)8I$CPS+1FAJ3
MD4S:1^*\9R1K+R1+SMH4.R53ZTJ\F;Z=3C[5X]A%4/O:;:_M(3#2H4-R)TNI
M+R@4J.(TJDQH4>F2"4DL=8F8!"("%9!]1WLU)^S]=M+,_.C_U8=M<'")@1'.
MQ&TTQ! 369;G>D+P$O]X.T4HJP_]J'IY!'%>RGE4;S(ZL= ,T8\A^G$]#R%.
M5 4H;HQQX+]E5^O'R%7YJ<ND%.=\4%10 DJVD7%$\N H&C=!NVAC<OR[]XB*
MV;F-Z-@1WM][X8S^ECI8V=!^[C33R ?F1::6I!0-^NL"+5:7+8DT,Q Z!$_I
M]Q*U5/D9O=V?C'N0::2,(Y336RC[=<RZN-N)MI^^9,3\\Y\L9^994[V'$1P6
M4E4+6FV4[8C1O*1/5$4P+P'L#Y!X\?4I\=7G8Q6MU)$%TH[%W>WP-5IETWI6
MXP 7B3HPA50=SJ?-O&3LS"85WM%N.##^4_BYV'2S?:BVXVSK<>2CR)OR4?A-
M%\]]\P8?PMW-A[C,";>P!Z^V_UP_P>U6;/F^GHW:[#'P<;^*I:3O/>SD1[@N
M4]_"]^[Q 7[SISL[48]S55Z?I!JVS )'<;]42:\0L_!%^,D78+NC_[\ZV7VP
M!-^KM<5U!J8U7OMD2R4K]!I2 &*-]80RX4VVQ@%\MX%YHI".&0\M"-R=D6Y*
M]I^4!TWBWS<JU";5)S^:0_6/J&\H9=5A*;NXWUG6V+H1-UMFN3"<N%*L2TIT
M'*R4C"0IHV<A**.^F[@G\+5 K^XH6W*P?TRB&99CYCD1;EP@4D=%G"I%M91%
MTDB5K,Y=2>3+$V!M,^XO)7<6V+UO7N?UN-XD_]]+<-[O82@O7(&3-B=5*0L!
MLW[$IA[88]@9IY*#!%4XKN(^Q+]7I9$TJEIH,^"*=_ EY7^K^HG]7.W[ICU?
ME2H_&N'5<CBS^!O_/:^+MX%.1H"3&_"A9PZ'* ESB].%)V['.6_EE!N+*U(N
ME].%5<*K:!V56W&>$5I;B?&J/>G>5#_A\Y!OJV:.5D&S/RD'#ZI%K5C\CI]]
M-?CJL[\XRO:,6/OEDSG\O%'Y<:I^XHLY!N1^O![^"V=0[F]OQ2^549P\IRV3
MWPZB':1O9I6C5?+'S6;UC6#0W8!!9B\@2I)2:6OCA"#.,$Z\S#GX;"WW'6TR
M/Y]/ISBIQ9'; NXS/[OWT?=[\.-_0M,/A*A.JH54U>M)]?4!WX<X4-EG(&CE
M T7CH)[-4)A@A"(RG8R+ZAT=5X!J^+C:*8K1QW:3Z(6?^:H<:/P:)KX\XWR0
MXMT<[Y14%21X!WOS17',:I>\KWXJR&V><<$W3VZ8[=?MN:/#<NYHV9BQ&.\9
M%$#S<[>"KKGSRM% P(NVF8\@09I26L0S10./.7>4IG"./(4Z)W(_"/J#"/IJ
MHX1W$W64+E^-</A0^1A1U$O<+K7</RT*\\I/*Z0GN?)"<U!2]:8G.K=(9YP<
MX+R/-XI]@(]#I5J6:J_:FTX^S_9/+V^BN0#MV!+DTC:JE,LM\E\"Y)P^NV:$
M[57V;./TMF_></WX3NYL;823FZ\9Z^F=]7@!9>C]$GYJ]9PW=38?1]25TTTK
M;XJM;C)]P^4;#Q'>Z=G?B/X$'_^.E)J/$SD1K]S^UVE:R(V9#5W%Y;X',6Z%
M$;]?+4[+S*7J1\SR7@5?.LAY61O.N&<^W9K/>GN0A+M*0N_!^(%*=][) ; \
MQ" EK@G3I<(6S\0:A^X^I[@>V5FFOKMRYY?Z,M/GR-![D^GQ%1' ]J:6U>/)
M39T& Z^R#SO-8WZ<HJ;71NGT[DC?VNB:W>M<D'7/9+\['$IJ/.<B$$<E)U($
M0QPSDDB73<I241&_N^#@ @[;1?_SO*G'T#2=UQK\OI+$:Z55UT;,7E[MO/]X
M0J8EYS1G2KQWB4@(D3A#+1&.&TF9HC:K;H3L=,G_TJ[X\\6"/ZRP?;-,9]]5
MS0^E5WM_5'ZY]N/2C\H_WGWM?$,L>:.JKPZ!U_FJC:YV>PM]E/&DW9V:-XLX
M-,X-QJGL"YU5*C[=2BI;3.5=H^/R\L\UOAI?6XUQH2;%KOM4-ZW/,_;CB+,H
M<;92:JO<7%I*)S]-355J:]7INOQ=\9/_^<J0\K!9>6GWHMF'T>B4^-5/2-)V
M#V%1MO#F"'W9WSM9T.H_<36ZW.R+C'KJ47,FZRV1''3;B)TXL$EG(2S-'95V
MVRT+<)6Z7>P:X&A'S7U/]=PK^V99C3CNL_]7O9X\CFT8?-V-.R&/,7%]-1IR
MY3T<'QAOM]N=UG^=CXXKP3:JTHUBX[*F3/<"Q^\PZ$]0]56;QX!*\22OF2MM
M'/HO-GM*I %&@DV2:)899!I8-I<*ID3PB6G)2D^#7.(,0$*,@2@0G#-I!./\
MBF2I-@=YMZ0@MWV]FS?S6:N_D3>>5*7?=/OXLQ[8J'9B?8!8^^N3G=>O+@+Q
M>'Y TF1&3FYY\AMC&X*R#47-*4">SO/!$7(Q_,("\5S6=?73I:QKM$B^K,#7
MF]L/[P]_8Q4N'5#\KJ:FI3UM>[2EP,,>D/$DP>EW<%SGNM?F$1R15$\7IES!
M]?G!^%FJFT/4(5OEZM?'\Z[I<?M?\V96Y^/3M[1?)6B3KJ;Y[8IIL&BU^Z7A
M[O[T"UHC.1;*S6<<XI8???;'S8FJ?"Q]A9=BU_?@I/S5)=G7\Q3P7?N-H'ZH
M+G2W_%&FW1H7)YT%JY>MEWW63NQ"+ZS5=*V\*ZBM_ESR,*6E3*DK3]':AW04
M'=O4W-V05&<WA6%=^9*71W&^'UK;R^H;SN2%_FGM%RYT3_O2#FN5/+6BZ/MZ
MSG:II5H']OK._8XO-L R&:Y%LZ7N\+Y%PW_@OK[41GN[_>Y]M;-9O=IYO?WZ
M^<[V[VC1E[[WVZ61W@")#\:40F\:]6V^/&_-<%GBD,^^8M5-KBYSZ^+#)1+#
M5_O3$E7[$]I&LX_U]2Q\7=)+^\P$\:2/P]8<)S0=U6.XRP;4#- SVZR>3\IJ
ME,T\_*TM<M1F,[XZV]EKR\ NCHG^]&'LYPD'E+[4^?#KB=+K+P3:;=H["H$R
MF[IW0A!/&?!C\"/D.?C8[ /,;CBQNTRQN$8<_KP86K7;#FW=F;]3$T4,4M"I
M%#1G>/MQ<@@+5NZ7,)S3")-<O3D;Y" 6Y]9.#F+1L5@<H$24#)@I[.-']2?X
M6(_Q[QNR/E8N&\_/#[?Z?=(,,G*A8.H@(QW(R)G"^#C)']M][7UT:V':E*H/
ML^,>B\?NN<&>5(FM7K:#'L3DW%KJ04RZ%I/HF_T\FGSNLV'U',=8O2J#_$:V
MS'4CO4-^S"!OYU;##O+6@;R-)S-H/LXF'[_8<&?IXN><G-4(X.LRN)*-?H?P
MUR CY[O:# '@#F0$E^/@(_^(7_-[)SY_JILX;QID[(_XZ>BXJ9N/>84A8KY9
M_7$VO+-2_B_.1MD6$]H^&6E16U]$I\C6XE!)N><=-//1$#*X8;WY:F,&CTJH
MQ,?_+@>.:D3O$BG /T:GOQ<)&TV:^0J%2FR6U+"SX;7R\;<O0VS%JPRQY"S[
M,)G/3@J\5N_JYN^#S)R//J\V_/RH9$864VTVG8R:CX?32814^&^%4B+;W<EV
M0*V$O#T;U" "]Q*!@>V'?*75[H0/'#APX+KG8B!XEU?]^H0_&3+F;I4QM[-9
MO7G_UY?OOI4N-YAM]S';V,<1[/G1PF9KRX6OTFACF]7O93@+:VTQG,%<.V^N
M#5Y^=ZSO/T[1(_Z8?9Q-IBME^^W-UCFO7BV&,K#\P/)+BA;/QU\:R'UL_ B:
MCXN=_H_-HAW-:J/%'\X-K]HMPRLAW\6V_OF&.<6C_]# HBM[JRH&H1F$9EG1
MX 39E^V'C_/#R1@%95Q/IJ?R4J\TRB4VJQ<G@ZL^')8F,>W@SHG*(!:#6"PI
MX(NK#*A#,J#V2%\V'58;]/T#OX::HPSJ_$[(( :#&"Q%#-1'U 7U>%'+")EW
MA=RO-JLW;0' G2_#&?A^X/NE\+W^"$?[=:A7E835<KS>K%Z>C&)@]'LQ^L#<
MPY[*NN^I7+VB#]#]^G*:.'[J9_<S@B]ME'2!DKL[?WF]_?[#NY>[ SZ>Q\<;
M3T7<L2KXNA5M&J8T3.G[IS04"QV*A0[%0J^B:5N'>5&=Y=RAE5N%")9?7/*K
M*D3?4TJYF_*FUY5!6E5QUWY ^W?WHCC'A*MDMYWW+_\H61V%W5;.:Z^?7QA"
M6:&3')AKSI:M>L"E2-CN^VU<PY>OW^^N@(L>F6CTH+CO=CW=\_5XH]H9QU64
M<VZY_NY5DY:_,-?63EJY%%Y9O&D]*U';.TW\IYUQ-=N?S!L_3LU&!4<1#F?5
M6=>#GW^LQ;BB?-VZ-'9XA.[G"HM5/W!;(\-OJ%3-[GL-'32[C.?>=(UMRMO-
MY5MAXBZZO%[FQU[47'W@-D\_Y'RO.(-Q]=PO-J.B;3.JUC2I3G7.2E9GN:<N
MKFLT<0>>N6'=%H)*Q6/DJT&.!CGZLG@O(,)!@.EIR[@K#]H.LG3W3>++VC_B
M*N2XKKO'#\>2VTUST8>]#1^N:"5Z EW]V/P>,E)6L  #X_^8=/\Q%N A?.QU
MU[*W"US/IU/\K?*M<MT:0&8 F0%D!L8?Z/XC+\#]?=C[M%F3UZ5.WR$9OWW(
M^:?2ATJW[U8;E[K7Y71X*=)=E:/MG_P(QM_V>N^S?H\"LZYXR7ARU>Q7UW3N
M(H?<?N;_V 71>P58E^=^"^FY;GE^J8^0U.-74]\FU[:I(:\^9E!9 8V$@M9$
M.N5(,/BG@42EDTSD $^J]BE'LW?EV,/SC\I[2V5R!,!1(IF4Q#&?B1!,&.#1
M9Y^?5&-_@%.8-V3/^\.M(JG;XU3^>?E%3+=GS_UT>ER/]_Z]Y!@\J>;C>O&6
M#Q\_[+Y M8J4P:>()U6"6!_X4?/K$X)_+;(K?WU2'\VVQO,#DB;MX8ERQY/?
M[(9D^I>G%^?[VSJ+Q#+%?X"_?M%Z@+\'A#]G/(4D.;&"!2*CB<1GS4FTQG*6
MI&7F$OR!,8SJ%(F4%"$SVDB<YXXX8%EGZG.*<97P9S:L90/\=18!&VST[T+D
M]U.?H/(QXMK.FFH*$9#_PP@VJC',!DWU8XOEH*!N5E"*A<!4R"0&A<J&!TV\
M$YXPD6P*7BOA0A?V^?:)?+X[$\_7,#L)=G=FEFO)![TT@-U ZP'LK@2[%"BS
MH"WQFJ%Y'94CGII$M+..9ZT 3>\NK/$' #NS(8P:P&X(E/?#"-\9?\)?)M/S
M)2(')?1#RN"@A&Y60L)[02$PHBQ/1-H$Q%MK"4,-!%1;#Y%W87&?BN0QZIZ.
ME([8P#</2F< MX'6 [A=#6Z1Q^P#$.&#0I,Y"Q)X]L0RRP6@]8W_=6%A+P'<
M^(:D8@"W(:S=#XOZ[10.?9TJ.#HLA0P630HF;4'>>"%'=%!)'4GHRL^5]4QI
M?7L]?ABUIEE"%14U$=JA6HLN$K3((\G4B."XDU%W8K.?"/W+A<QOCU-;@7MQ
MT*K;^!';8-0M3]OUX)QA7Z1IP-8!6P=LO2%#,&H!C#-B W5$TL")%TR2K %R
MMBRHD+MP&1X26R5?XD;D(\;6I<?O>PS8W2;%3&9^-#@*0^QJB%W=6A$9'AC/
M,I-DA$2#77MBO5#XI_364,JM\YVDPBQ!Y7"V(=B0E#G VT#K =ZNR?1+P7)G
M'/%9 9$0@03F&(DQ2"VRE":S3I)?EF%1NPTZY)P_?'"^QYC9<;!]<HBS.FZ#
M[.68YV$IVCTDD ]J95 KWU K7&=MN0020W8$E4@FP;M N(),@W6*Y]A-:'PA
MHF]'?CS;'J>7IU+:Y0XPYW10,@/8#;0>P.Y*L),R U5!$6T-0Z/8&N*-2"5J
M39-SF@<CNXE5/P#8*6H&L!L"T,NQJ'\'7[IOM()*)IG,&QC"T(..&73,MP\I
M)6>%BII0Q6P)0VO4,2P01!GJ> ";6">Y)F]0P_A9/=YK1?5=F>V;_*&!-G[3
M79:)'"JE#&@WT'I NVLRZXSSE M%0":TCK6DQ/$4"&1@CND@4Q9=6-0/@W;"
M#0?0AR#UDDSJOTPFZ7,]&@TJY<<6J$&E?".A,#EO(I-$)8$Z@@74#-$)8B17
MN:@5U4W)P5-Y[$I[T TKAR/] [(-M!Z0[6ID\XG:S JRR2B)#-X3*T,B&;1-
M/J@@\J5B3?<QE@=DZZ=A/,2:KRD^,O/CO;KT8UV$F(?$C4&9#,KD&\K$>6&5
M\XEX:A.1BCD2:&:$&S )E(, '=4A.97.16;@:YB]/(JC>:K'>QTK&KUAU) E
M.(#>0.L!]*X)-V>I,K6&A* 0]$!'$DP.^%;#;%9, -/=U"=Y,-"S&UP,19F&
MJ/.2C.OVE.R0NC$<AQ^.PS],BB&33G$KB#0236RM%2J:X$F6@G&G0O":=I+^
M\>7T^^O).'9[7$<O42$]XN/O Y8.6#I@:7=82G.4FC)%& V9R)P-*=8ZL5P+
MJX3U"CKIOK-4+#5+/)+RB+%TB*YW6DID< "6J+3X)B^2ER;SLH>Q0K75A]YP
MMUF:'T:#:>LR8\P0"2$0R5$E.5%*$#J;(;"05>K$&U@HKXY4EN0;4BSQ;-&-
M'++N>FN TP%.!SA=$IP&(42VNJTPB Z!4)S8*!/Q22IJ#5@6.JR!TAV<<OY@
MM5H?&9S>?Q_@*FZ[K6_0#XR^K1OP>;$>83)*=SGA6?M0C^I9?5*;O)E-XM_W
M\1DP;?[Y3Y8S\ZPMI3([_A:G]F.UEJO1D!;ERJ]/^)-KIMVKK=@'4>_# @R,
M/]#]1UF ^P?D?AQ-?*LE/BFM5XV^*."M 6D&I!F09F#\@>X_\@(,S;I6I))/
M&SY7A_ZXM'L> KOKFWW:AZ!M/W#J 0*R5FA&#36D;',1&;(E+B1+DD_&&07!
M\VYJ[I\(Z-N%?'9;G5IMV*$M[H!W:TKK >\>$.]8H#QG&0D%*XGT-A K4R#:
M(@J&K*U0E_#N7AM0R\0[O2'-4.?HP1/.!N/[6N-[.H?B!A^4UFZ^<..@D'YL
M81STT#=.F8#QBE)+*"TVM-2*>*4,H=DEJT)V1G92(^E$-O\\&<\;Z+S-(G=#
M59$!Y09:#RAW3?:L%UJKJ(CRY2Q=T)+X5 KWJV"%#TY'UTVZUQ)1SG [8-P0
MY^Z7J3WZ*O=K4@Y #=KHQY;*01M]HU,6ES)9Z@GW01*9@R->&D^,R(PJ*:2,
MEZKWW<7F]O5T[U05G4O./.UT?NZCCGO/;G [=)(9D&^@]8!\UY2:4\F:%#1Q
MM/0(M#$3IS0CG"4C178(A>9[[/!5(1_;<'QH;S($PGMBG>_N3Z8S@CAR4(U*
MEXOS9OJ@HCH2RJ'<R%W7XX=1<VC!>^L,)2J5<B,&&'&),I(M175G.?=.==^Y
MZU2['7>KV^PR^ZT_XKHC Z@.H#J :I<9,PP4,YFPH .16: ? .A !*%=Y-E+
MGSJ)X3\,J.HE;E@^8E =JKEV6LPI7CY!-JBR']MI'T)8W[#MK=1<)DZ &T?P
M%U0I(4IB!;-&408B=6+;+R]613?$T/!]P+B!U@/&78=QRN48)24FZI*<;A#>
M))4$\()GS''(ESK"W,?47AK&N0WGAOXO0R74)1G/+R #LFNJ9O[HS';^9G6C
M'J_.H%4&K;)TK0(B*\=S)BIP0"LX:>*<#P285Y)Q8;/ZKK274ZUR*IT[XS@Y
M@/?^Z)R:>=U=C_=EEN/^021@0+L?A]8_&MH)D5E@AA%GC242')  49 (,5/C
MI#4F=F%#/Q#:#>T4AUCTLLSIWR?CO2%;9= R@Y:YLY;)T0<(D DDAUI&.DTL
MTQ95C8G@M0(JQ!(S33IO<B,&JWK NX'6 ]Y=VZM<\PPJD"!S(-))3;R4G)A@
M\8\8HK\<0^@P":1SO--FJ!<UA*F7FN,Q6-.W1MR3Q*EV\%>DV@U9C/=<K"')
M\;;Z+7*5G1")@'>.2$,Y<=1PDH01U,<L$[T4-?K.[)+NTDJLO'M:R75<=):H
M.&0]#A@]8/2 T3W":&ED\A")SID1R5DF7FM)($GPP8GLF>XX.Z9#C&9W/Z<Z
M8/12=P/6OZO)Y?7[Z@;2H+C41V2_3@G&6Z6=:0BYG-ZP.G$BLY?$4_3HA=%9
M:V6#!?K-ASC!),T:!=%%2:12@CB.?P:+3TU>1J7\/1RL:]NM3 X.ZMD!E/+N
MI=9-N5*/]V <2_6;GUY/9E Q\?,9<USYS]"=8NA.\:-WIQ@8?Z#[#[D 0^>S
MK@I<7-MB=&B -@#. #@#XP^,_T,O0"]R\U:W#=MMFU'T>R?ET:AS6\?7IU27
MP)$?58>^3J0>5]$?UC,_VL /IM4G/YI#==86YH'#<YK&Z,II-2X#)U)33X+A
MI;HF"R"I3=IT<LQ@L2RM)?+63]],=V=^!NG?R]S?PG1WWT_AZ[#=9#3RIU>^
MA.UV7K_Z1MSNZHD:ID0JR5[:246D$)D$&S))$;@"D[BZG/MUGSCD TZ4;B(3
M7)5I?$W$<FD\OU&MB'L]E>"88(1)C012MB3T 2,V<N1I#9;92\'E[^3>ED[-
M]GRV/YDB,J4+Q&S:BU?'F^_+N$P$SVUF1+?'2V-0Q-OLB?2*VABU#KF3))Z'
MF2.G= .)WP.F7:C#Q6PJ?S;79ZOB92FS B]*?-<"TBQI1&*;2006(2.G!^V6
MPLL[33/OE,:,;5AY?:>KAZ%HW<ZJU< K(F@&EWA0AC"=D: V96(#LR11R74(
MR6K52;;Q)8*^F<^:&4Z\'N]U2U5QI;9Y2*I.ODRM\K/J7^=CJ 3=J#CE\MDJ
MB9T<STQQ3K(KA4Z$$\2;9-#:X-EF ^5TTU)0>AG22]GU>>4_BO12KV0$M(F9
M% %-"\E)T-01HS5DD='N<'DI!%V2]-(-J5V_I/<%1#@(,*T$:R58; [I/+>?
M_V-,9AX2^K\!2AJ\$FA-:(YX))D5Q(F$JB9D2,(GH6@GY;3.@5*S,XZC>1'9
M[;- QEM?IYWQ\T44HZML&XX(-?2#'N!OH/4 ?]>YR%J&A'XPB5&@D149NL@I
M*V*95QF8,33*CFVR!X,_IH:^G,/QIB4>;\)%:.;3X\7.Q$:QO^.DF6VMS+^2
M68 6"?TK-$8DTX[X;#017"@K*>B0:1>FS.F\6VD^$>P33VK)@=L4I;#<2/0;
M.2,2A"7!2X\6FW:<:FFLZL2#?(@9*MF'?8:+(=NOPC]ML&!P*0>;ZA'95)U*
MST\K0GI.42BS<T2+@FG:)H1 RPAUD<H0 #2[9+5]-]*W&ZX=V69J0^C'Y9A>
MI/'M6>CG 4W7E^@#FCX&-*5 #:4R$J.3)Y([37PT:$%+PT%$&CWSG5N5 YH^
M&)KV(A?O,3B\VS'.#^:CDGV%[)GK6,\&[;6^0C9HKT>AO3QS43A+$C>&2)\Y
M<08LD4Y;1HTW24 7OL [F/EZ#.FEGX[K\5YS#@Q>++#@]MJL09+@;]_J428V
MI+U^@WT=16[P$@:<'7!V+7$V.,JM]0)!TB-F.H4XZZ,OY;5!@!?>T$ZJ;CP\
MSAJ[H?CC*J^]8O]AV##[IO\PF>W#%,7E )^S#^.F_@353Z-)T_Q<U6TE^4'C
M=21^/T2AJ4=82>I1:$W)!>.!<F)]$J6>('H:05.B@@'&6))1=N*=G(.6-P59
MGI\'ED5KBM\17%[#[$U^[X^Z5J$_7H?ZP9,9<'W ]9YF]7D=@[))EF8_K#@?
MG 2&^ M&RI23%M9VDB>S--2]N4?##P>VCZ8BP6/P8A95S9MK*P -"FY0<(."
M6_)!8$$!_8!(5/$.I "*#@;^8#X 31 4^A9=N!7GZWR];*6[*QW&-I1;8JNA
M1ZS(!BP=L'3 T@XW-H1V,0E&-"N&OQ.)6(-^0$HNTNRXLNI2E8S[. O+Q%+)
M!J=@. NT<J?@7*NC]NS$X"0\L&+CF[Q(9YK,PPA6J=KN&Q[]QZ7IN*N7YH?1
M<BS*'+P&$FA4!+66)B%;1H*1"GA2"&N\X\9&V^.T-)TG^884=^]VU(U8K;O6
M&X!V -H!:)>5C\IS9)0#\2PB:(:<B8T(M%F;Q(/SDG?>G6C)0,OY$I-0'S70
MGKH7^*_'";6_]@=%O[S[QM?==M9E<JG^5,61;Y"S#OT>D/$DP>EW<%SE\NGL
M1W!$4CV%EI^V4 SG!^-GJ6X.1_YXJUQ]=ECJ'(_WSCF>]6(X)Q[:XH/_FC>S
M.A^?OJ7]*H%Q0LXZ*E/$)VR=,=G1LCGI"[;=Q]6ZFB+?\+SVH?*Q))+Y\7$I
M@S:>S(K[-<6/$9/PMKUI6RAZ.JLFN9KM0P,%?A*,&VB;*+6^?)N4ENNQ'\>Z
MW=[!#]I62Q>.NS_\TCT8^ZX=6]QVIN(",J$(GOPL\KI_%O5HQ741RO 9Q[KE
M1Y_]<?/LR=,SP3Z[<R&6)^WHKI+)E8C>"?B=$O;PW#1O\5K]K=5=%G$_+Q8N
MH.Z^/PALU],]7X\WJIUQW/P*DQ^"KUO;YPQ4/GY!CX^312-W1)E5KL_S,[Q[
M?A[O=A?C_)XJ(YT,KW2T0VQ^<[96*R!AE].W=YK]3SMC5$N3>>/'J=FHX"@"
MVH"X%E5;EZ5"6OF??ZP5^3#V\X1O2*N?=[?6RI56XRTFQ>\/SUT8Q?>85&OQ
MG[[O9'AE*%M^/IN<NCUE!$5+XH#+[01MW\D<;=CZ"-*SQ:L8I9OTGTZ_$$MG
MA\,&MAI BP[1ZW3FK;N[>/:3KW<T/M5-W?J*QUNGW[]JJZ)]G>2;SIE_.M'[
M5]S [GN-;VJI[OOE347O_6*Z*:S\P5Y,;_GBA^B:>UD6O]$BZ:!.:02K<=56
MT1+J\<[WK!^8OJX?V,G<5YZ?T;'2OZ7K/@6H#O#O_:8"M%#36?VY^W%0#W;J
M!ZD:I&JU4K5;'PTRM9I,^27:! ]SEKH_Z/5XYWOK'J$_)'J5NK/W8Y4?#Z@&
M\1G$Y[+XB$%\!O$9Q&?0/H/X#.(S:)^^LM-P]**CHQ>[?@3-M[BNQXO1KS3?
ME7/#[6?>90KO#Y.>ZXSG8',@B49/I!21.!8C4='QG$14/%YJH8R?!V:3);9T
M1I1@ K&&*D*9C_A)"%JKRV4,/\%X#J^FDX/G^+ RB/];S_:?SQM<"IB^/#KM
M =8T@/]+W94'86J#V<=5#GV9:#"@8;]H/:#A Z*AL=HD&PV).ADBHY#$>P?$
M @.M':5@TR4T%$E**B6Q-"0B18C$2\T)A)0D4](S(7N%AE8LL=#$@(8#&@YH
M^#C0,%/G@W".&)\XD38@&@IFB*->Q^S0RH-+C7",$BH))PEG(1.90R#>2DL<
MCU(9;IB%'J$A=QL(T0,:#FBXEK0>T/ !T9 [RK/SB&R6:;3SDB=!!4^BS-Y+
MKXVTYFLTY*&T7Y2)A *)4GE+O#&<A"C!^YR=RKP_:"CX!C>#ISQ4REQ29/;Y
MI&G/7.Y-)JDIX?PT*)^.1&OEVTM],46&>FY?ZRT;;=;91^)3:0-FHR0V,_P1
M3*34:1K-I>+/]XGP%NE^DT^T5T<:R6U0H8=*;H,)/Z#H@**KK1=F'<_>2&("
MIT12(XA5UA)'J45,%-:KR_MD]X@,+P=%E?KQ.I(,*#J@Z("B_4)1IZ.53F>2
MHPU$1LZ)$SH2+A!'O>7_/WOGWMM&DB3XKT(T9H 9@.'-]\-]>X#;W3WP8K;M
M:WMO<'\-\A%I<9LB-23EQW[ZRRI*LEI4VQ)5Q5?%8E8MBV2Q,BOB%Y&1D1%)
M-86]GAY1[H.BW(Z-)XP21@FCA-$]IRG$R).("#GH -6EE."YT9"UK&!M:M1:
MU44HNA>,^K&Q.ZM4>U(8[3U%N!W#I"D-5:^HZA6W@?7MVB[M16Y?E=VM*G,4
M@>N_+>;+Y>AB,:]_)OM&]HWL6[_V32=F2T@1A(ZR+A-* I^9@Q2UXH&;5.)&
M"Y)M0M:M7K]IU;HCZV;&7#DR;K1&((820_<;L$Y&!Q,+>%<8*!LR.-0,G' V
M*I=,,)T$K/M@J+ [J[!.#"6&$D.)H??WS?9:F&(J"F,39[$Y@B\: ;/7V<00
M4<8NPM7=,Y3SL14]IO(11 FB!%&"Z$/RSRRBTRZ#]8*#\M@T64,#,?E2,HM"
M^TZ"U3U 5(RUIU#UH=9,_&:-Q%/(F;[J@3![/\)/%TW+AN7S1U94.4G[]."Z
M.X>!V3T671KN!)#@#_.Y#WX"2/"'^=P'/P$D^,-\[L.8 $K_V=,:[%=<8EBD
MLU&8Y5'&#SB=7S3=_"AZV%$@Y$B#'%0QX1O9_M*SI(R$H+0&Q;B#D)4!Y"EX
M%8R(V$D:S[5^OICE'[]HYT_K>$E7M1'&G/=X$G4@&D"T&\ZS'AKM2O!,B."
M&25 )27!JX@0&4==_Z9RU-W4#NR?=LW&!Q4))-K1LR;:W4\[5KSP@@= 9DNE
M7>25=@FAR,(XRS;<0[OM:@/V3SLS%GU6&1F(!A#MAO.LAT8[&2KF%):F0'[]
M$1*'P 4"%A5#8A5_J:/:?_W33H^9[#&]^D@UH/<B?Q1<_4J[EC:R6N_B-VQ2
M7<@:#5L7R1I](RT]892A9-"I&A7EI8?(F0>+QB1ML^)N(RU]F[CJ6YQ.FT*S
ML_R?UZK9=9A!*C)%A#IZUH2Z/W"\$PM)!X2(IF++&U6QE32X4%PP.1LI-HN7
M;A%4W07J&#4:(-31LR;4W8^ZI#$JSS/DK#VH7"($5IV\( 37V60?-E&W342U
M=]2IL68]GIH9B/@3ZH;SK >'NE2R+8&!CH:!"KKQT)0&'EE%G0PQN4Z.!/:.
M.CWFML>2H$<J_I2HNJ\Z=3C#19BVT=20Z[LFRU5S>O #DD4:MDJ21?JZ15+"
MQF!U!,9= F6-K7YW:4ZJ!^<"YX7K#8NT5<6YM896B_3B=_K9>;*JZ[$*W4!T
M@'@WG&<]--[)E)0M%7 N-]ZT"A:<K]ZTUQE=T<H)ZSJI#K<CWFE/"5S$.WK6
MQ+L_J)AO$2UG"C(K E10K**.,6 ^)M54<[.NDW35W?#.C#EUK2;>T;,FWOT!
M[TQ%%N.L+F59:M@5>(,M#EB0%Y3*<,DZ*;JV$][9L724)[3S,.L!0[33L.F[
M^2I,1_.-2FMD9+X^_JOZA>W-WU/ADHJ';CE95%OTP8U"@A'( D+.W((RUE<S
MIQ"2%%I+FY/0&^<RM@G;WE1AO+)KRXX,FQL;+1]MV/Y(E&Z*AE(%4@(U@9I
M?3B@SL)&(;6'E%B%KK-U/5(D HILM!<RF&*ZB#?W!VJU1>]7 C6!FD!-H#XB
M4#.5E70^0T(30 7?[@D60!=+DCX(WTV@O"]0<S-V^O&Y#T1J(C61FDA]1*26
M186V]7>2NHGS*P\.$P<CBRF"Z>P8[R+$WQNI[5C[QT?UB=2]; T\LIK% >._
MTZV!OS>-O\MB?GZ]/3"?T;8 -0T;=M.P3C7L+]<3N.L=\L03,TY 8HZ!2LTV
M@(\!7/ 24U8QBVZW#E[-TOP<&Z \W( NZS.HOWV[6F>?9\L/U$[^7B(>+G!_
M)7X3OXG?Q\YO&YG*7"B006E05C#PS$H0UA=E@Q+.;_+[*3L*??);<$'\)GX3
MOXG?0^$W\YBBU08*NB84)3)X&1*@"17&UGB6-L)73]IHZ(_?>ESM!O&;^$W\
M)GX/A=\V)R>1<<!FYT%)7S&,.D$T2B?-L\Y\8Z/X2=L/??*;,?*_G\3O[<\B
MW">)0^[WOCK#Q>@ODU;8_WI]%(%ZOE,C5&J$2H)/@D\30()/SYTF@ 1_X,]]
M&!- ;8GVM Y[U<@2+E>C]4IL/)HA]7L?>,&%HRXZ<A)!1R9R824B,!LUJ((&
M?$$+7"CF,S)Y7]FZ;9*VFBC,+_/9_/?!QZYZ@9Q6=7S:""*>$D^/DJ?&.(5&
M5^?1-<U-O4-P)0;P29ND;,K"=U(&M%^>\M.J_4D\)9X23X^2ISZD**6TD$IU
M.!5Z!AXY@K)%E.Q1.I8Z26KJE:=;E"0Z9-4BGA)/B:='R5,MI(\Z!TBY\35C
M=!"C%'7MSA7&&%31V$F24:\\[3,Y]-AY2KVB]IIH=)5?=)-P1":O_Z0_RLT]
MX-S<'1BU*)B4*:KJX0?6!*0]>,445/<_,R&L%B(_)8@=)HOW:XNVMF*/KL7]
ML*S9'OL>'FC&[#[4AV!*,"68_C%,54+C0M8@=./M,Y8K&)&#XEE:)T/RQC\E
M@KTKF!)-B:9$4Z+IJ4=TA"M.ELPA^NKR*JD$.($9A'*1\Z!TRN(I$?(G\_KK
MC6@&1VD*GA.N"=<'ZOR:DDR%)P<C>-.U.BN(MB(RYVP<:B?1;CB_CPF/[\KY
M'5[QLJ/(#3]@1/?1_ZL-B*_CX&2\R'@-VGB=QEJ#F<*U14@! R@E!(3$$(37
M/AO&60X;33 [S!;O=NDA>DQR/% C26L/PC?A>[#XEC9HEIF HH2M*$8/3ED%
MKO)96:^=CQO)E!TFIW>+[^$M<8C>1&^B]V#I'96)N:GJ&1US30)\!N<,:[WI
MHI6M7O;&T:(.4^&[I;=AA&_"-^&;\#T4?"MM;);90]0Y@7+>0)0Y@#,ZYA B
M\VHC=M)AYGVW^.:/;S-&^-YEDOX!VX3NVXE%K,**5SL-HU7XA-12[(B/P]!)
MLU.P=TEE821KEBM!@FJV"7Q1&F*604CI>8I/2LJ_MG=?JEC_O)B?OZS7F\PN
MJ]E[?=->\(<6#^OWO6O@\-.GU2)4;DYF8?'YU0K/E]5>-G>RF$^GK<5<EZKJ
MOBV-LCT:SKVSG-8TQ&?B\Y'PF3O!32P"2C:ZKBV,A,!4 6:]<"$Z:>)&NX%M
M-@..BL^"424QXC/QF?B\=SZ[XJ6UP4 0O/+9* '11P_:"N<Y"\F&C534;<+]
M1\1G/6:6*C\0GXG/Q.>]\SGJX(6N#K-MDVF*C%!]Y@06K<L9LX^LDW9=1\1G
M-?:.*IUU&/2GXP5_4$K^.M#_I=Q.Q!G6=Y%AI,WR86^6[R*/-!;KF520?0J@
M,K-U:<(]5,L6"G>&\<U3<MN']JM)N]J\_F&MXT=01.Y ][#WH3X$4X+IT<+T
M)%8J1:30'&"&6((')72!R(4#3%SP;(L*HI.:]$_&]0.C](/#-D6)B-_$[\'R
M.X1BO) ,T%L%JMD3\#P+8 5+XB[%X#NI@;\C?G-&!V^)X$1P(OB!A#,2BTGD
MQ,#Z-C-?>(@8$E189%W9&UR,W47R^PIGN.&=J.I"?2@3OR/OZ!=<C:;S)67>
M]Z-TXIEHM"[/+^,4]VFSMG5E_M2;\;I_:@[#?)W$ B1)[ZS2&DIJ3A[SY"!Z
MD\$QA]9R'C+?,)#;Q/LK0K[L=G>?W*EYCYO37Q5)6GH0R GD!/)]@SP&IIAU
M'(J)33?%J"%:;4!CSD5PX6VQ7>P$] QRP796_(= 3B GD!/(#PSDH?#B@S6@
MLA6@DHX04" PZ7U*S&113!=; KV"7(V]<01R CF!G$ ^4)"C*"[R(H#GZEBK
ME R$G"J4L^<Z^1A%Z63OH5>0ZS$S%%K9V^F ^Z3PH;L3AV$=>MF(&%U@G<BS
ML,#GWQ+%PYB%?FUDG>/FE7__KK+A_F$?U!FQG3@,- $D^/3<:0)(\ ?ZW <_
M 23XPWSNPYB WI.[VI%-9KG>R'.NZA6W"<%=35>C)^N+W+[JU4P?V1KLA["<
M) I74KB2PI4G%:[,UA1>2H!0I 7%44!T&,'H+%7VHD2UL>^T32;83V$QF\S>
M+]_@XFT3P6EY<C=L.9].P_KEFP FNQW % ^-7[)G@L*7M ]%8">P#Q7L4J!4
M*47P3&90/JGZFT/@SA7A$:W1O(O,L)V#G1/8">P$=@+[0,$N2L@J<P8A9 9*
M:PZ.FPC<IA)<T#;(#;!ODRFV:["KG1TB)[ 3V GL!/8# [OQW&D=/)22!"B3
MFW:@]3=?@G;( M=V ^S;9([M'.P[:RUWJF#OO<XL[7K<_S1^G$PO5YC)V)*Q
M)6-[4L:66X;)Z&I=O0O5V$8%/ED+UEK##%-*L(T27%WL>UP1A78^#D.#:1U%
M:">TGQ;:?>$L:AU!>^N:-5&J:&_"7G6=9-&(X +VL?.Q [33W@>AG=!.:!\J
MVJN[G1ER7C&-U0.O_X 0I 'ED3F1.,/0R]Y'_VBGW0]".Z&=T#Y8M!?N=';.
M0?$B@N+!@BLB@#?,229+=<-E'[L?.T [[7_L?/_C^M0'G:3_W>S^HYTTS*-0
M!Q?>X_HT_7)TN:Q_F\Q&=;3I<AI654'HQ#T=0Z-C:'3^D@2?!)\$GP2?!)\$
MGY[[\": <L_HQ/T!\NE$ IU]SL?)Q#=W$7U4 8,5":1!#4J%"$Z7BK2L?,["
M8A:=-$2Y#L"\6,=??KD\C[AX7=I X_+UY6JY"K,\F;W?S,E>1VJV;"7&V=C+
M(59FWH=^$6^)M\3;;Y2[-X9C<1H\+Q:4]QR\#1(*6N69+BIM=L#=)D=K?[Q5
M@^Q-1;PEWNY;'HBW]^3$NL*M+P$4YPH4:XX5.H[U-VT9DY9KWDGBU/YX:^40
M,ZB(M\3;?<L#\?8>_U9:G7)$T*5(4"XJ"!$=,/0I><Z-SZJ+;*;]\5:JG;4G
M/S'>4@U;.LU--O"P=91LX--M(.-:BR(E8!86E&75E(6H06&VN30_4?<84[_2
M]@U32%'UH]0P(BX1EXC[C9JO4DDA6 'OE0"5I0*G'$+A2B6=$TO)]1A5WPEQ
M*:Y.Q"7B$G$/@[C6)B:-8"!M$[-![R!$Q< 5EZU2W$DL/<;5=T)<BJP3<8FX
M1-S#(*Y1S'F- JQH,D=$$. P&I!HC0M))A4W,D<ZC*SOA+@46W]J;+W^-]0!
MM;\>#DZ_?/=7O^ZAHVX&ER<?1FD:EE6R+JJ8PFR>\?HS];Z:EZ]'/\5/D"<+
M;.7I>57,R_/9]WFRO)B&S\^;5[^_"+F1Y9N1/M.3]>U<;4^L__#?E\O5I'R^
M_I;VHX"S7"7K4S/$>H7G-T+VJ6])^D*[;?8-[G\B7Y>^=V<X"BG-S^OW?6Y.
M2L_FJWJW5>5']08F]6WO%V$ZN@B+U6A>1JLS7&(#I(RSYIAU_6TYGTYR:,YA
ME\DLS%+]MGKC]0_G]1N6SVX+]NZG;F?B>W1B\="1JM^1J:K@U<]&7\]NMOQ:
M=5WOXX52[_5YF'X,GY???_=O-XI]\\ZU6K83<K].[D7UKN!W_6 O;@WS 5]K
MOC6[?3W<C^N)B_-IWAX"+R:+]V$R&X]>S=*S.TS>A5RWWM -5/ZY7)VOEO]L
MF+3 L_JGR0?\YV16_XW[G*27U_=W7TV9G=[)Z.5MZKZ]86T#Z)>W9VWT]_ER
MN8?GV>7<N$=-S5]>S:J-FE\NJR.[_&OW3^IQ=S,:UMS_URQ<YOH-^:\[''<7
M3NLC'?03'5*[R+@O8R9<KN;7*ZWF#AK#7&^X>3M4=WM^6=WFR2?,WZ^_BC/V
MC/WY^@.I*3YUL<3G2ZQ.9$75]<C;-??ZVM_=S2#Z,%E.XF0Z67U^?OWY>U*#
MUE^GY#/O_)^O7(U[WL"W?4T\<TQN^^%GRFS[T3I]2@SG>_TSJ[B_]7\/NL[V
M1[D?7D9K4R<?=HI^+ZO$/58-.,'QWI2,,-\H&?'["%1=P%RL1JUSMJOX;L>&
M_X%1@P7BZ+S^^VPYPNH7Y]%_7,YP)-EX.PGZRBSN*HI'6D5:M5^M>COY1#JU
MG_(NY!,0O;HK(S5(>@DF%(&*U(?49UOUD:0^I#ZD/F1]2'U(?<CZ'*HX]7[D
M^8"S:SL]POP+KMK&#)1MW%$VY-X%XN$C[[*YT6&D"Y]$XR(I10XYIJ8G'0?E
MA0)OT8'DS%NN8U+)=W',N:K^JS:CI\E0N=NNZ(]SC1_6I4B,=9_GZHY(RZBW
MW  ?.J'U(-&*+&F#!<%IX4&);""@CI C:BM"C%)N5%':YCQSSV@53!-:":V$
M5D+KP: U<6,32PY4*K%ZK4%"**:BM>*Q\6=%TAOM-K<YN-PK6M78FQ[K[QR1
MEA%:!_C0":T'B5:7D!FM$-"SRM<*6'!."7 Q,9NXCB:;+DXH]XI6/6:& @)_
MB-9=I$T-HB/QZ]49+D:_.[C6!KBIWS UX:,F?"3X)/@T 23X]-QI DCP!_[<
MAS$!E"K4T<KJY_FB3MMLE"X7"YRESZ/5(LR6T]!&*D)NJC@U)3 H<-A12&/O
M29 '7;7POODX#)*=1,S1AQ0\XPY4X (4%@5!L*8^8F)<<5LDVZA#NTT2TCL\
MOY@OPN+S3_^ZG*P^7S'FY15BWGTAS(L;P'2_H;ZKVHA[R<RE72&".\&]*[CO
M +W%Y2BM;/(_=<5H$J:BUQGP]5?MC2WH.VFZT"]Z;Q.WK4P$_X.+>2,Y3G#Q
M_>"0NP_=(M(2:8^6M"?A1J,HG#&GP4H=*Y=3@*!S!AZ\"5(:9M3&UOTV65&'
MX$:KP3&=W&B".\']0-UH)Z)0D9M*T"8#BF4#SN8"EH7,2[)9F8T.]=MD39$;
M?6RZM7VN%>T(W"G'?3?+B@Q;+^IW,$V+#B&S^'BZ%YW$$B8ZS+9D58V@SZ <
M+Q""U)"]*%;%[(WJI.OR[V"RSD/^!5>OR[OPJ8_#R3V>H#O8ADBT7B&L$]8)
MZ^T&K^0:>0I@"B*HS*IGB])!*HDK6<$NI.ABEV&G6._U8#1AG;!.6">L'S36
MM66I:.ZKMZYY];Q3!N>R!E'EO2+=)658%QL..\2Z&GN[LQ0=PCIAG;!.6#\P
MK&?6%"N*KCK=RH/R*H&K7 ;NA43C+.;2R6;&#K'>\X'P86"=VE-3>^K'0([:
M4U-[ZLY'JJD]-;6G[EFN6S_HAAG_G)=_+E?S]-M9'10NEMBF7NQS?HZC,_7;
M6W/69I#8[T?KM)5A=4F^MT/U,(8^I ;11]I-6;@>.BGK/KHS?^6UK3L@'\GX
M=OU]O)>+?JTE]*X'R)[:<]KMJD[:5VO.N295\K@#I$,9[I<:(4_OA7O/0'J=
MK7UT*/IYTH3\1O_GLB[UJP<Y^NEW'7)'_?;_.HP)WD>9$N(:<6U?+;X/0^OZ
MQ=K+^?GY?+9>'(]>S/+H1:XKI,E\5EGW)DPRU.7BRW Q684IX6T79:A.=@)(
M,1^EF.^J[5I>+CZO59-TCTQ@]^7_3F_H--Q3'BX)-@WW)(=+@CV X5*4@\1H
MY\"@Q50SHK=G88'?/*!/BR@*8)#.=:5S+\ZK+?MF16S2.=(YTCFR<X<C<J1S
MI'-DYPY(YVCU-G0-2^GR_'+:YG2O6US^OOC:7YJ>K7\=K8_LD2*2\2/5W(-J
M_J^X^+?__2.629J0-20E)"7<7:K(O,G.:M3O06><2"-[W;5I.^CE3NOE[M$1
M[E=R?PC3,$LX"JO1CYCP/%;?3O(VFUIV6+#C]%80]WS)5RM"[&,&^ASL-Q[X
M851?N3O1FQ/2?<^-HIFT4@$Z(T%9]. ="\",01:5CUYL]$_*5IN2N &OC095
M2@17H@3/+#I=%&?2WZV5L@XTOKY<+5=AUAQ8_UV%E&7[ZL,*NV_41N%\S#CK
MKSC*P%2!V+=_L_GPH7=9IFJP$*SXT+%P!(S"@G*Y0%31 7K!E8I<,(R=0/"6
MM[WVLK?K;7$/ O58^![+N1(#B8&G_, / WV/JD#T1W1\?#6^W<+6L:RL"1ZB
M0=&T2$!P'CEPCH8%5)JG#8]316^=P0"Y, -**(3 C0 M9?:62<XMZ];C?&!9
M/L5/B[E[+:-*\#W")W]Z#N@@*%RTM2@]:YS62M38N+RR&# \%2<Q%KGI\FY%
MX2>XO \MC2I-C]TTCTD7B<)$X5.A\#YBH5%@UK9 0517C;A<121S5A9;>%!V
M@XG,*)8$9Z"4U=#4G88@"P.=D.L8O4DI[2P,T&.%Z(&M!XE^1#_R0?OFK8Y&
M\9!!^U1 9:SL--J#SU):E]&:N-%^A:N$VGH+V<L$*B0!(>NV3C\+.@L;_4;[
ME?Y]4.O&6E H@)Q0PO!)87@?>U%81)"I+JV-]]6AM!Y<\O6?JDA3M,^8-Z"(
MUG)F<N6A:A;FR27P0520(B^FL%#R+IU0/E:</-'N3O,_,"^L'<*D*:Q^U9E]
M2\Y>34U;^KF]SNT+LPVW8]]Y9 ]Z*K_@JK..ZV2:CEP1>[9(W4U _QVZVI1?
M02)QW")!6" 9("R02! 62 8("R02A 62 <("B01A@62 L$ B05@X<1F@7(0G
M;[N9HKDIW( V+H.2,8-S60)F[:6(@3FYL>UFG I9%02;M /%@@0?M(1@79$H
M2[W*QK;;+[A:EQUJ2A!UG88@QDJ?V"&P0\A"(!0?B# 0BH> XBQD4)(%\%%6
MK!J!$#-3$(O21=K(@PQW4>RX2L;7MW-I$92*$8+A&M (Z51..EE!*#X@%/==
M)8>R(;Y2]+=)_8$8EMA4SCJ_P-DR-.))V1%D'X_<1Z((!HD$8>'X9.#DTG@Y
M2E^<CN"%;\[7"@'1UQ]8JIN:O"_1;SBQ7 >6G?90T"E0.@EPSABPJACFE"I"
M;9QM>)'_^W*Y.J^WLGPW_]**M^G$^VIVU8>WK830FON7MZS]K_BOR\FR#O0M
M+CY,$K[!Q62>?\4T?S]KK_)_P_02NRI0,V;.GI8[? 1:160E&2"'BT2"L$ R
M0%@@D2 LD P0%D@D#DDD" LD X0%$@G"PO')P,E%;5F)0?*2@ <9004?P1=O
M@15K/?.".]5)Z@%%;8]9JZB2P_YR%ZHNG,^;2\_3;Z-7R^4EYM'JK,[V^[/1
M I>KQ20U71_7KX>/89&IZ -90K*$C[6$R7E78C5HCN706+5F_U)Q<#KDC(:K
M@)NUV;;8OVQSD=9Z_./E8C)[OS9HZ^+MO]XH=/NV%XTZ_VUQ-UOO:<V#C"<#
M1TL' N9IR0!%%$@D" LD X0%$@G" LD 88%$@K! ,D!8()$@+) ,$!9() @+
M) .$A<,6"=IJ/Y"M]H^3U=D93O-H@=/0[+"OYJ,9KD;MYMMHB:O5%)M\EM&\
MC+!M)T*[[T3VD]A]'T31'6T8\]IP0)L8**LT>"\"<&ZM8ABYV.Q]^9C]_C!9
MO'^^)DH+E&N>7.%D-:\P66_DWZ!D7M8@67.D?;&'%NZ">@=3P31B-['[>-G-
M;#::)0?18 'ELX50T$/*4MEL13&R=,3N-@_K'U?L_G7-[G?S7W#5)FR]O6'W
MZ[+N*=>F;'5>7,T3LXG9Q&R*I% D92 B05@@&2 LD$@0%D@&" LD$H0%D@'"
M HD$8>'49(#BP4^.!Z.61HD20",Z4*48B(5ID,ZPX&4PVKFG5+&@>/ QQ8,I
MA>9 4F@FZVH5=:9Q,?KI[9LWE!I#YO2XS>D>C%M2(223&$A9,BBA-<2<.00F
M94!47J#HO3#%3^<7T_EGQ/9-;RX7Z2PL\<TTS#JL3"'D:1FU(U 66G^0#)P<
M,(.LOKO,&8I,"93G'H)P 8QREJ<0L@^R1V"V]>C^D)<=%:JSAEA)K"16GI8,
M4 B71(*P0#) 6""1("R0#! 62"0("R0#A 42"<+"B<O R<5A59 8C==0N."@
MM%;@A)00;1#".*N%YUWT%J$X[&'I">5?["__XN?YHL[T;)0N%PN<I<^CU2+,
MEM.VD\XH?&G"0YD89-".W*DA/Y=$@K! ,D!8()$@+) ,$!9() @+) .$!1()
MPL*)RP =FNP@/&^M"UR \MZ#PL+!<YFA,,22<D)A-QJ>NE0L:F_ 9\Y *1X@
M:NE !\=R\BA]V@C/O\/SB_DB+#ZO#T1>12A?7@4HWWV)3][J$=[U>4EQ6E%Z
M*I]'M#XF6I,31R)!6" 9(">N<R?.<I:L:&K76PU*% 5!101,2LOLG8T\=9%C
M04[<83MQC\ZY2*6PDBGGHNN:%^L\I-%DUBC=#->ZVO1^&(45K,X0ZIW^ADW7
MF()-KM)RW'25H72,#JUMK"*,BYN;;T8^6LZGDSRZ?N #L\??GI##L-A[L)])
MR*"4#)!,%J"B-!"J!03-N"J::Y$1N^PDL,;#J]G+&S@TM:1>K-Z=X7^V8'A]
MS86WCV[_\E7CR?ML^_(5 5OG]C$Y-)VC=1"1F<C\!#);7DF:>0(FZU)%&93@
M4UVE:"6,TD%E';KJS_5(,K>)Y1WECROG",N$9<+R04E)=U@><N2;\$/X(?P0
M?@@_AR)8!R(VA)^#EA+"#^&'\$/X(?P0?DY)L Y$; @_!RTE%)+_PY"\3T&@
M50:P, Y*>@$N\03!>.VT4\:;C;;K3VFS0R'YHU*XOG.0#CP)YJ'NP,?UE,3Y
M-#\"^S^$:9@E'(75J,I^.AM)/AX)UNSJ4^K04><!'H%'='*6C!DME"RE29LM
MH"J((!1O@66=8](J9KW1(D)JSH2- G3."925'GR]3OU@4-[%%)R1&Z7)VI2=
MUY>KY2K,<K54'2;T\+%D)Y82NT=5(/;MWV8^?.A_(@AV<0!41&E]@F*S Q55
M@%B<ALB+]XA62N4[@6#CRY]5=P<7R_7Q@8X\=<[-V&EB(#&0'O@1HV\0![6P
M()->(?B2):CJ7X*/RD.JUQ3!Q)2XN@O;5(S.J2 H[2(HY2N;'4,P3JF$TL;@
M8K<>Y\,.8FG%3XNYAW">GN![3$_^]!S005"X2*5%T@*<MJJZO&C!^62!6\ZR
MPE"=VLV2Y"5;&Q%!>%9=WA*:P[:1031<,!5+-.'^UI!;NKP/9/!8&FH"3Q0F
M"I\4A?? Q,0K!A$9^!1"]3*3 1=+_:=*,@B!RO.-6&C6@CGM*@0E+Z"$=>!-
M:H[<.&5L8$:Q3IGX]3# :6&0 @!$OX'2;Q ^:%),Z& *>(R5F++HRML@@!7M
MK=**)6DV#C;RJ%@3+I"E.::>?0(G8@3'<N0Q16N%W;T/ZMC8GUH#'')""<-#
MQ_ >H)@=>E77UB";I;52D5=WM/XF; P830DQ;*269<6#E8;5STC6G!"W$)N=
M?(RN>,TSX\GMS F5;*RY/"T6[B4IC)J!=993_@NN1M/YDII]';MI.H(MPB&?
MM2"1H',4) .$!1*) Q )P@+) &&!1(*P0#) 6""1("R0#! 62"0("Z<F Y2+
M\/0C8-Y:HZP#G1T#E7B$R!F#)$W15L3LE+B[[588\P*E!8D.065AFUR$ )F+
M^I+-Z.7&J81?</5JEN;G^/?YLON^,*>W\W8(60B$X@,1!D+Q$% LC9#<J B)
M-Z=Q@Y,0N [@3<E!)^99V3@@5K*,W-6W.]D<*D,;P5FF@?&0ZE]B-$83B@\(
MQ=2F:W_9$&WJ#\2PQ%S5Z/P"9\NV8QUE1Y!]/'(?B2(8)!*$A>.3@9-+XQ4\
M.:-\!.,C!R5\;MK1%LA1*6ELD%QOI/%JCBBQ.K%>FPRJO@F"%QR,$[$X%[05
M_*X3>ZO+[+OYBYPGS3V$Z9LP:<I%AHO)*DS;2@BMN7]YR]K_BO^ZG"SK0-_B
MXL,DX1M<3.;Y5TSS][/V*EV6DN1CIOQIN<-'H%5$5I(!<KA() @+) .$!1()
MP@+) &&!1.*01(*P0#) 6""1("P<GPR<7-26<6^Y8!*<81D4\TUM&BT@V9AY
MDL[SIL[LTU,/*&I[S%I%E1SVE[NP;HI5+SU/OXW6;;%&J[,ZV^_/1@M<KA:3
MM,)\]7KX&!:9BCZ0)21+^.CZP"IPR6P&';T!I:6#R(4"KKP5/!0,>:,EQC;[
ME[?:V_UXV72P6QNT=?'V7V\4NGW;BT:=_[:XFZWWI.9!PI)]HY4#\?*T9( "
M"B02A 62 <("B01A@62 L$ B05@@&2 LD$@0%D@&" LD$H0%D@'"PF&+!%4)
M.,R=]O4?YQ?-?AGMKQ.\:7_]T>>#741I?01GL#1M?B1$-!YD+BZ:@,[B1O_=
MQ^ROA\GB_?.U"M_:8G^WUM_V+Z_7VMONM'>WG^YH._VT_!K"XQ'(P.GAD6.2
MV54>"E/Q6,$&P2$#EIQ)F) 9O5&.L1<\=I1)*S1QD;A(7#PM&: U/XD$88%D
M@+! (D%8(!D@+)!($!9(!@@+)!*$A1.7@9.+N3*,6+3(H'*RH(3DX(70$*/@
MELOZJG!/*7Y ,=?]ZP25+MA?0L7/\T6=Z=DH72X6.$N?1ZM%F"VG;5F/4?A2
M$83R*<AX';D#0SXMB01A@62 L$ B05@@&2 LD$@0%D@&" LD$H2%$Y<!:H'\
M]%"\2#P'V9P)81J4$0:\B0Q48=D%IP5G>#<4'YCQ@3L&)9;Z3IT81"<TZ)!#
M<<%FX\+=ZHOO\/QBO@B+SS_]ZW*R^GP5H7QY%:!\]R4^>:M@<>>=DD\K2D\-
MZXG6QT1K<N)() @+) /DQ'7MQ'&C"@_2@V A52?.2W#.(+ D0A0Y)J^>E$]!
M3MQQ.'%4Q.*PBEA,9HW2S7"MJQ\GJ[-16,'J#*'>Z6^X&LU+P:84_7(\FN&*
MTC$ZM+:QBC N;FZ^&?EH.9].\NCZ@0_,'G][0@[#8N_!?AJ;6"Q"53-8/*@8
M/$2F&,10I.(ZLLQ+]V? 7\U>WL#A'Y4-+U;OSO _6S"\ON9"QS4S-.LQ4_$K
M K;.[6-R:#I'ZR B,Y'Y*>'I$G6114 1II+9E0B>.0[:V^0Q6V.2W0^9N^Q^
M)\::]UC.B,!,8"8P[Q7,0XY]$WX(/X0?P@_AYU $ZT#$AO!ST%)"^"'\$'X(
M/X0?PL\I"=:!B WAYZ"EA(+R?YQNA-ZE("V([ 0HCQ:<C J,M!Z#M4YJUGWY
M%@K*'XW*]5W[Y< 381[J$'Q<3TF<3_,CP/]#F(99PE%8C?[C<H8CR<8CP82B
M[*'>S*%X)AKUS//+.$4RB'\\)8,UB2HGX1E'X)Y[4"H7"$8S<($ISR/G8K.B
MF<G><J\=^-CL;3-O(-ALH13.K9$NJ&+N9N"V^4#+UY>KY2K,<C5YW>4&<3YV
MJL?LVJ_*S]&;/"+MB9%VV\3L/Q%R=X-<BRZGS!1X80LH+0M$5BQ$Q0RS(5FN
M?2?(;98@9]5'P\5R?>ZAHP4&%VRLE"+B$G&)N.3;TGFV&[1[-&BE4H"('%0T
M H*+")'K(G1"HXW9"#"Y$+2KSK=.(H+BHLD4M1PT4RRZ:%F0&^?9GN9-/^R\
MFE9\B(0_A.($A/I#13TYU\3\.\QWS&&(L8"OC <EHJKN/(;Z(V,ENQ>Q;)S!
MVHKY3W#G'TC\L32#].J)^<1\8CXQ_\',SSI[;RJP;0@9%!H)P00.411>7 X9
MN;[+?"9$Y*[4-WEA05FGZMK M =VB\K)9.GB[IE//C[QGGA/O"?>?YWWR@FK
M!5AN J@4-$1M)507OPB,2FJ]P?MD*]'1&"@I)E"%8_V,5)"MJ/Z^<BZG/?CX
M3HZ5\P1]@CY!GZ!_1+NF0A8?I0R0@U%0\5D=Z6@T\&1=E-IR+!NA=1V"8RI[
M0/0,%%<*/ \%I.32HDBAA+*S75/)Q]JS(9*WR\S,^M]01]3^VJ?8/XZD7[[[
MJU_WT%&?_.#RY,,H3<.RZLU%>(\PFV>\_DR]K^;EZ]%/\1/DR6*=/OV\8N7R
M?/9]GBPOIN'S\^;5[R]";K; ;F4D3]:W<Y6YN_Y#4]=Q4CY??TO[4<!9KGKS
MJ1EBO<+S&Q7ZU#=5O[![:U]ZXXE\7;7>G>$HI#0_K]_WN0YV-)NOZMV&1?US
M96Q]V_M%F(XNPJ*I[C=:G>$2&YQFG"TQ-[^U2=YA5?]1)K,P2_7;ZHW7/[3E
M,I_=UMK=3]W.Q/?HQ.*A(S6_PVY5P:N?C;Z>W63#M^JZSG$/I=[K\S#]&#XO
MO__NWVX4^^:=:[5L)^1^G=R+ZEW![_K!7MP:9FM:KK_ZZA)MK<]PN9I?&]AF
MYIL[KA=MW@Z50_/+RI/))\S?KR>6,_:,_?GZ _7Q3</%$I\OL6I7U9?KNVM=
MJ_6UO[M[ZN##9#F)DVEU/YY??_Z^\P3MUPGWYZOYO^=%ON5KNH=K?NTUL^/O
MV_7X=OU]O)>+?N4UO^L!L@=]<.LC/?=A]J'G? :V^A_*<*N$-*_\^W>B+C6_
M.O9''<*\'DBOL_4TUV*[$U\_3YJ5\NC_7%:GLBZG1S]5;S+_[O"7W$ZT'G(&
M\3 FN#>!)*X1USKG&F'M(;-Y53&_C12.7LSRZ$5=Z33AB<JZ-V&2X=5L]#)<
M3%9A2GCK30V', &DF(]2S'?5=BTO%Y_7JDFZ1R9P"]?^&YIV>D.GX9[R<$FP
M:;@G.5P2[ $,EZ(<)$8[!P8MIIH1K<\8TR** ABD<[O2N1?GU99]LYTFZ1SI
M'.D<V;G#$3G2.=(YLG,'I'.T>ANZAJ5T>7XY;=.U7Z_.<#%Z.3^O%S[#V7+R
M 4=_^?M\N?SKZ-4LS<^1%)&,'ZGF'E3S?\7%O_WO'[%,TH2L(2DA*>'N4D7F
M3796HWZW#WRV38SL]Z/UP4_2R%WMVJ0Z*R53&XV'3/NM-AH_8L+S6'T[R=ML
M:D&E"CHL57"L1Z5[[BYV<I4%>&2Y1%&@N,1!85.B2_(,W@N1HA2*"[Y1P-$4
M$T1$8(Q;4(%Q",Y[D"R;B"A=8#MM@<'&UMC^:@L,3!6(??LWFP\?>I<E6 8+
M02DT\FPL".D1E/09'-,.4G%"8M'"B\W6>-M L+>F%)R/A>NQ#1 QD!AXR@_\
M,- WC'*"):=8L@+'F0?E,P,G0H',C<FB\"3C1CG!(G5R/E8'M5A688N-@QH"
M1"LYCT$TU65/KDW$,;DA5"?PV.%+#NBP*,PQ!G06T"E5B:H21!4$%&DC<Z7^
MSXM.*'SLC1N.21>)PD3AW5&XNYEX$H8?*!I.<''<LD'K88+!P<* 7+*GNV0Q
M.(:($(RJ"V/,!;Q*"02+F6F3G<IQH\Y^-@:%5F"9KI_AVH&S-H/@)JL8C1%N
M#RZ9,6/F)?EDY),1AD\)PWN (K.HI!0"<A9UG9J102PY@0U9FZBL1[D1+10E
M!6.3!IDD;QH,*G J9> B2;3:F)35[BK?^[$3^K18N)<TJ>O#[0],DVJ',&DJ
M>*_66K$E9Z^FIJV$W%[G]H79AMNQ[[2J!SV57W UFLZ7WSSW-6C3=$].Z:#G
M@^: YH#T@F2"YH#T@F2"YH#T@F2"YH#T@F2"YF!H(6'*5!W"AIR0DED9,BBM
M%2BE GC! PB'J)56,I2T$7L.*J2L(WCK)2C)/+CD!.3D,\\F6);RW=CS+[A:
MEZ)HRE)TO1<GQDZ[TPH_TU8<<9>X>[K<C=+XF+0$%KT#E84!QY,!PXT-5K&L
MTT8BA'%<6<,,)!<\*%NI[8/+$(531J')WEGB[@%QM^\R";3_]Y6JC\UF-\2P
M[FU\?H&S96C$D^PCV4?*&J:L86( /?#C]9'W$2D(13,?"Z"K/J<2,D'4S@!C
M(8EL71'NG@("CCOK.(@F?U?):"%R[L&@"SHK)5-T=SW6%_F_+Y>K\WHKRW?S
M+XT7F[Z+KV9771?;<Z^M;7]YR[3_BO^ZG"SK0-_BXL,DX1M<3.;Y5TSS][/V
M*O\W3"^QJW($8V=/[$@6890P>F@8)5=J,")!#!C8 R<&D$@<P'") <0 8L#A
MB 0Q8& /G!A (G$ PR4&' $#3BZL*H6+&HT$9DL$I0T#5_\-T6 V.D1NB^HB
M$8#"JL>L5722>'^9!%47SN?-I>?IM]&KY?(2\VAU5F?[_=EH@<O58I*:)ESK
MU\/'L,ATZ)@L(5G"1UO"DK+4"H'EC* 8E^!D5I!8M"++X#/?+)J[Q09CFQFT
MUN,?+Q>3V?NU05O7TOWU1J';M[UHU/EOB[NY<T_JY2#LB>7,T3J!Z'AH=*18
MP6!$@A@PL =.#""1.(#A$@.( <2 PQ$)8L# 'C@Q@$3B (9+#" &$ ,.1R2(
M 0-[X,2 TQ4).D)_(!O?'R>KLS.<YM$"IZ'9[U[-1S-<C=JML-$25ZLI-MDE
MHWD985M<GO;"B>PGL1<^B((T1;A4+Q4A"T10W#,(W@MP,O HC"[<FZ?LOH?)
MXOWS-5%:H%SSY HGJWF%R7I;_08E\[(&R9HC[8L]]+?E_,2VXZET&)&:2'VZ
MI+8ZZI1"!FE" N5D)37C&K*+7&OI;0X;)1NW)'6; _6/*U+_NB;UN_DON&J3
MI=[>D/IU6?<3:M.E.B\S9DXM88H(380^6$)3E&0P(D$,&-@#)P:02!S <(D!
MQ !BP.&(!#%@8 ^<&$ B<0##)08< 0,H8OODB*W6(>L*)U",^:LF.S%YD,PS
MJXW+P>-3:CQ0Q/:H(K94S.% <EHFZV(.=:9Q,?KI[9LW9$_)GAZW/=V#=5-.
M>1D$@^Q# :5]AL"5!QV\,3+D:LDZ*0S_U;H-/YU?3.>?$=LWO;E<I+.PQ#?3
M,.NR<(,X+:-&JPVB(]&Q;]]?9>ZT"2 52Z!2X>",$R"4]9ZEP ///=*QK<WV
MAW#LJFB;M$1&(B,]<(K%4BR6&$ /G!A #" &T ,G!A #B 'TP(D!)!+$ 'K@
M%"G]2J24<ZN\*AFLC %4T!)<R B&\^2:B&A(OHM.&!0I/3!%Z;O&QX'3]J'6
M]N-Z2N)\FA\!XQ]"E=Z$H[ :_6>H\CR2?#P23$BR462CR$8]]NRU5R[($, :
M4T 5AQ!Y2&#J7UF,-GEC[]HHP5/"$",D[ZJ-0H[5KJ$$[H7VG'MK4&W8J#9/
MX?7E:KD*LUQM5'=9#)R-O?)DA8A]1_S M\W'_!-!\.D03"XC#UQ!9"Z!TI:!
M%SZ!3^@:QSO:[#J!8..$GU5W!Q?+=;9R5UXX%V/#-3&0&$@/_'C1-XBS(TE%
MSRHO(5J?0247(6!$R$EY+#K(8C?RQU(Q.J>"E<WU[4IY#=$QK%ZJ4@FEC<'%
M;CW.AQT+T8J?%G.ID,]0X4L.Z* H++RT+,A*82P!5$ZNNKQ&@8_*V5P=7JLV
MSCAL1>$GN+P/9/!8FA-KL$P4)@H?/H5ISWXPRR." <& 7+*>73(9N,Y,1=#:
M:% E%0B)>7!.&.T+$ZYL%"QW*27&5'V[3=6-$\Q"X-:#%49&%4),; \NF7%C
MKVEE3#X98?BD,+P'*&9N;,6A 1.::*%F!F(J%I#)A($')S?/XF>7G0C8A!0+
MKVM;)\$GKL$()]&A3"*6G6W-2#>6C)T6"_>2(T4U8SI;#?V"J]%TOJ1.1E\S
M377&FU?^_3OQ'<T'R03- >D%R03- >D%R03- >D%R03- >D%R03-P0!#PI2I
M.H0-.40MN8T,;&ZJG&MO(#+/(9H2O7;(K-TX&Y6+3467!"*5#$K)#"Y% \BX
MCO5BW"1Y-_;\"ZY>S=+\'/\^7W9>N5R,!3NQ@P&T%4?<)>Z>,G=]X2E&*-)J
M4#Y5AEIC(%MFI1+."B4V*LS*K!13"AR+N:DPFR H(P!CSHIK%;C<.(Y%W-TC
M=_NND4#[?W_\0-K-;HAAB<TR]/P"9\O0B"?91[*/E#5,6</$ 'K@Q^LC[\%C
MU8X[7C""926"<K+ZH5$HP,R]\U'F$#:RU 3G2CGM(.=D0$65($IIH1C.2U:,
MA1SN>JPO\G]?+E=-N[/EN_F+G"?-/83IFS#)KV8OP\5D%:;MN=?6MK^\9=I_
MQ7]=3I9UH&]Q\6&2<%TB[%=,\_>S]BIMM;".<MZ\.;%N:011@NBA090<J<&(
M!#%@8 ^<&$ B<0##)080 X@!AR,2Q("!/7!B (G$ 0R7&' $##BYH"H/);&(
M K)1 903"9S3'IQW2AB7!9.EBS0 "JH>KT[1*>+]91%433B?-Y>>I]]&Z_8C
MH]59G>WW9Z,%+E>+25IAOGH]? R+3 >.R0Z2'7QT"8QL42L,8+DLH#)*",EA
M-8:QL%PMF_$;=G";S<4_:".TKJ/[ZXU"MV][T:CSWQ9W\^:>U,?AQ++E:(U
M;#PT-E*<8# B00P8V ,G!I!(',!PB0'$ &+ X8@$,6!@#YP80")Q ,,E!A #
MB &'(Q+$@($]<&+ Z8H$'9X_D&WOCY/5V1E.\VB!T]#L=J_FHQFN1NU&V&B)
MJ]44F\R2T;R,L"TK3SOA1/:3V D?1"D:&9)+3"50GAM0+%B(O/Z&F8O$10S(
MPU/VWL-D\?[YFB@M4*YY<H63U;S"9+VI?H.2>5F#9,V1]L4>.MN*T]J,IY)A
MQ&GB].ERVJ3(67(!0H@1E+42'"L2"D.;BS:^^(U2C5MRNLU_^L<5IW]=<_K=
M_!=<M8E2;V\X_;JL^PBUJ5*=EQ?C!&@"- &:0B04(J$P*3& &$ ,( ;0 R<&
M$ .( ?3 B0'$ &( /7 *V!YHP%:YS N*#%)&#BJ: L&$#.AE$4H)K_F3BCM0
MP/:8 K94QN% \EGNE'%8_W%^T8@KI:QT:5EC%51<W-Q\,_+1<CZ=Y-'U8QV8
M[?WVA!R&==Z#K10A6Q^5AN":3!0LU59J8T$XIH3D.N3-?DA/V=Q<0^#=F@'M
M7UZO"?#VT<DF>S.)7Q&GM>U@<F@:1M EZ!)T'PK=@&@5*PE8KMA4# /XDG)=
M<<@4A$H6==P)=#LJ'R=ZK!Y'L"78$FQW!]LAQZ")-<0:8@VQAEA#K"'6'()(
M$&N(-<2:!\U!E<#FE7__3GS7BZ*=WHQU.DM[5:1#FZ=!S %9<@H'=Q(.+IYE
MSF(!DT4$I>N/R+(#SX/F0:J0Y,9!\*?DJU X^# UJ^_**P<.\(>ZT!_74Q+G
MT_P(OO\0IF&6<!16H_^XG.%(LO%(,"')ZO5F]<0ST:AGGE_&*9+=^^,I&:SE
M2U&JHGD&H26"*BR#U[94&YB*D-D::3:S3R3:J%0 %V+[F01.15\O$973.279
M',>_TWZD325Y?;E:KL(L3V;O.TPT86-OU*X,WAWY.7J31Z0],=)NF[K[)T+N
M;I"+E9.,,P$JI=+DGC0+!^8A!\DT"UD5X3M!;K.N.*L^&BZ6Z]SWCE87G,NQ
M]IZ(2\0EXI)O2^>>;M >O;(Q*P.^(;32QH,S)@+SS"?I7)/B?1?M40MT13&(
MMM3/2)W A\  F[@3+UH%R;OUIA]VI$DK/D3"4ZDJ0CTYU\3\!S/?>59R,@*,
M2ZJZ\UJ!:T[R5/ [GZR3/&U$4+9B_A/<^0<2?RR'&4<AYA/SA\-\RL,Z1 91
M9('0<_+H(7?SZ2$&4U2Q04&QTH-RCD,PW$)!G1C:PJUS=]U-PY0T3&C0"ADH
MX3/$Q#,8QK,V+G.7]>[=3<O'7!OR-\G?).@3](]H X])7JP/'I)M*G84W1P$
MCP@AVA@E<QX=WD6PSD)Q'@,89!I4LAP\KS^L\L6[Q(,6;&<;>-*.F:7]NR<F
M"=;_ACJB]M<^Q?YQ)/WRW5_]NH>.NAE<GGP8I6E85M&Z".\19O.,UY^I]]6\
M?#WZ*7Z"/%E@*U#/J^9=GL^^SY/EQ31\?MZ\^OU%R,V&Q:W\T<GZ=J[R+-=_
M^._+Y6I2/E]_2_M1P%FNHO6I&6*]PO,;*?O4-WB^X&UK=W/CB7Q=^MZ=X2BD
M-#^OW_>Y#G8TFZ_JW39MY^H-3.K;WB_"='01%FWSN=49+K$A3L;9$IN3*+,V
M);=M6E<FLS!+]=OJC=<_-,7PEL]N"_;NIVYGXGMT8O'0D=K?D:FJX-7/1E_/
M;G*76W5=9R2'4N_U>9A^#)^7WW_W;S>*??/.M5JV$W*_3NY%]:[@=_U@+VX-
M\P%?:[XUNWT]W(T,Z6T@\&*R>!\FL_'HU2P]N\/D7<AUZ^[<,..?\_+/%)9G
M93K_N-SGM+R\P=S+VYA[>]\"?:<W=D/7!LDOZU2-?F[F:@]/KLM)<(\+D[R:
M56LTOUR&65[^=5A#_Z]9N,SU&_+=<;=^XO4M78VAK3(:+E?S:V^YN:V&K754
MS=NA>DSSR^KY3#YA_G[]?9RQ9^S/UQ^H8YN&BR4^7V+U ZKL74]/NTY:7_N[
MNZ=9/DR6DSB9UK7$\^O/WW=.I?TZ(YY9\><K8W'/Z^(9<U]YF7_M-?5,FRT_
MNY.O_<I)(/_5FK7WB=C]QX,VK=S=FWI,Y,;OR6'K,'(SE.'>G!,WWWU]Z-L>
M8>UW<OH])?9V\FET7O]UMAS5]5ZUZ]=GQ;:3GNU/*QZIA!&X"%R]@TL0N#;F
M3C"AB%&D.Z0[6^G.-X^!D^YL9]_;$@7I,?;]F_:\SE?/D[K[Z@1MO*:-;8W*
M8GX^FE]@75,WH?=F=^S#9#7!Y?-'RNA^YNE ./;0[>&NIN+>W>$]FK#!CI^D
M?HA/?1#CWWIQW6%]H,,VO@^:X%]P-9K.EYWTG#I%VCPVWV;?XK"?'+7#R#][
MU':_[S+E^/Z+=9[MIH7TR'P"S:P#Y9F#H#D#'HQ$5>58"W4WV\UJJ;/T"@2/
M!52)L>ENY<"+I+05ECM4=[/=WBSF]7;^7K'0=:*Q&GO38T&\X]&^3O*'";C'
M],@)N$<'W&*M2"878$I84"EP""ED\"BXD4D55^Q&?:"H8D15G<R&NDJ'"NEZ
M&8A)80BE>%W$[H"KQ\Q( N[CV^%2!.\1V7&Y21)>YUNMYJ,%UI?29(JCV=7J
MHOEK\WN3M#;ZRV63,#:9_75TL9A_F#0;R_$S!?DHW$'A#@KRD=23U.\NR-<.
M[+'MZN_JV^TLTJ_VJC\:>_XCU@^E26A\15JG'JNGW.=0CV)YNO/EHM*&19T*
MV"3JTD\P!RXH Q:=9HD;93!W$9^[K9^=M:GHL=S4,&2?*#>4)SULRB%SD7-1
MP&7-0>4H(: Q(*WCS":6L6P6S=XB*-8#Y:021+F.0F#D8C^%NTVL=U15JCF0
M/U^&:7-.\6+1!,%6GT=AED?XK\O)11-2(],T9/4DT_08T^2]*REE!LQ95IUI
MZR$*;Z XI:3R2EK<:!ZWC0/^MS"9-1K\>O:V6J'7Y<V5YKZ9AMGJIVO-W<YH
MM:=,X7]P,;]5<Y%L%N&/GC3A[^OXXZ5HEY.K*,.*,E$9Z%!K4%S%P'A1(? N
M//.N\?>PK6S>8Q.$X]0."H_O9[O[?%Y'_#_MPK3QVR>S59B]GS2%)<)RB2M*
MIAVT5I+->E372U=XC-(!B\F"PM1T8N"E^N \"E16)MY)S/RVTKXNKVY4]D6K
ML5VU8QLKBJ,3^>A)$_F^3;[,2G":1Y"<5Q]=*@Z.2P5:QA2\4T;KC=JUVWCK
M.R.?)O)1;/T _/.V6#/$L"Z_>GZ!LR6ELI!Q(N/TF%06GG5*24$N,H#*!<%[
MRP%E-+QX8RW*+MSRMGWF#XVJOKREJ5TEM8R%/JG##^2.$_&(>/T0+SBNA4\!
MBM657JDZV<XX#5Q5G(7L6058%^YXK\3C8Z]Z["9QG'I 8?(]99$77"RJ#[X*
MGT;325C7.B:3-&15))/T&)-D%#,Q\ 26LR:?G&?PSDI(4CO.142-&R9INWSR
MM::^FM7E,KX+GW[ZU!@F_ %G6.^S*]M$AHFX1T^:N/=M5YR':$R1$%7*H"0+
M$$(NX+15NF2C<S'=9)CO@GN6L$=A\0/PQ^^FK=1+7(1)IIP5LD]DGQX7'#<I
MA>2;))70Y%DF 9YG!C:FH*7+WODG^>5ALGA_9]OVS5I9N]VSE70:BHA'3YJ(
M]X#*DSX)6<&5A$"H'C6"#XV+S6(VDEE>W,9VX&,\\GZ(1T=I*#9^H+YX2HM+
M.O5)QHF,4P>G/DM)PD==?>DB0#E=?XO5'4>/WGCIHXGIZ>[X6F._''9Z,<M/
M/.FYF:]"_C@ACYXT(>_;R!,L%\<BB((&5'0<0I0*8M 9O1<.<P?^>/?((X^<
MNHKMQL-^>19F[^O=3&:W2PNWB\G6T[Y.2*$RPU1P]4%/?>CC)ZD?XE,?Q/@I
M"+87$_UN$3*.0DIU:JM57F#"R8<0IT@KP2$[P$>]$CSYECC(6126.3 J\KKR
M+!X\EQ&28C%S7E>A=B,W:YN<U%>S5)&ZQ!]Q_=]7LQ=7H/CUAA.='9H0YJ22
MM*@I&8%W:.#=.0BCL\QZI:%$(T!E8=<@U#9:9%EBC+&+)-5N0?C04FM4RX&2
M5@]AC?!J]J'^,E],D#)4!ZU_1VV<3GY58&TPBIL,0838[$<5\$D$D%DKP3A#
M974_JX);@.CJO(9BIV3\:#% O"7>GAAOM5%"1#1@*BOK0D(Q<*;^%GTV=5FB
MDLD;G>"[67QTSUMM3ZJP\WX;%-/.1!>KCJO<\Q&NSX.N,P;FJS-<C-+E8E'?
M1*?FR$8>MXW<N<TR+ :I5 1=4@!EH@>7DX:$#KUB2D99^EDC7*GS]7'OJU/>
M+V;Y=:/2CSUA\K 0FN24S$M@I"=-8/SV<6+GF9') &KE03%=(/#$@%FTR1L1
MHG7].//[ */VAL!(>PL'X.6W0DZ./-DKLE>/LU?11VD]@O;,@O(I00B1@_>2
M*RV\KHCOQY%O-?;E>@7>CW4BVT00I"=-$/QV!-XFD9@1D'(#02$*1#35%?<\
MZ\*+QRSZ<=H)@H?OH%,8OJ,J&>NC 1?A,YT+(/MTQ/;IY'>D,86448AJT9H@
M5E.)([+L(6ON=-:QQ-1)K>H_3H=]LX9$Y\90N%,RAY0.1/ E^)X8?+TQT4=M
M01B;*DAE N^8A-*0-#$?0V3]GD7H";[.TL&LSG*#:->@L])]U%F2;.-IV,:=
MVRJ.KD@5+5B!C=T1#!Q#"RY:$=!H[=A&X*R;A<)/YQ?3^6?$7W$:5IC__J4"
M4$>9K-)2BQNB(#WIXZ/@R:\0L##!C=2@M>>@T%L(Z#PD7U0(.94<-FJD=K-"
MZ(*Z#UPL.#JX10<)#G*Q<*O:X)>S!&0OCU4U!V\O=VZ_BG;5_@@!SF<)*NOZ
M6VKV&)P467BG/&X<>.ML>Z%1X5MVZSH_]O5U7='N5Q**6O,0&>E)$QD?D(TI
MFKU588#G4CW[$+'I@R"A K,85:3-YDFEP ^,C)[.5=%&P$'X]G]OM."V9T]6
M:\A:>-16Z^3C7R;XS)D7$$2N:P&7#<0BF@4!4ZDN'J3*^.0>09LFLF5$CR$O
M=5+&D'*3B+Q$WA,CKY=629$\:*8=*$0'+O&Z2$&IG9#:)/^D4D5[(J\\J4,2
M1[77<+@T[W1]\0NN1BDLST:72\QW^AA5@?M :XYOFX-8)0@7ZYM_IB]6H^5\
M.LFC^Y[05S7RZCK78[OG4L=O.A\Q5]^PK-^>+;*]N]GU%\8%:YIF#2XT*YBZ
M>+$N@50B&:QK'RN>U!GU.C984?6RDNK-8OYADC'_\/F_*K)>S6["@"]N>-6U
M&19CN477U#\2];4A8K(3,-Q<;-]VJ,.%U"$RXCA[3I&5(BM%5FJ]M\^-,1I]
M71+&NMIC)8$W*,'6Q6(HZ+U/G>2F[=-*,:;(2AW4HG-P;7,_KF<CSJ?Y$9/=
M:,RH3.<?EZ.RF)_7=>@'7-Y9A%(#76HE2JU$2>KIJ0]T_!3Q[23B^^9RD<Y"
M4V]^7D87BR;>N_K<YHOCORXG%^?U713O/=8M%MKI//5U;"Y&ZN0-1)3-&2MN
M(1J!D'U=V&+(H9A.3K:^"9\;%"S?S5^DRH4%OKE"Q9MIF*U>S/)/U[3HJD&N
MIH-5E&9"\"7X'BY\T3,T&2TDUFQUL0:D0B%PYT70R>F.VO'N'KY;1 X/6!,/
M(^A'ZXZO9IK<%^0CXT=[>+2'1^;W#[(\T0B1>(3,K $51 #OLH*Z@+'":XQ2
M^!XS35Y= ZN_/;QM%D&T@T<K*3(F9$S(F#S*F$0>>&:IVA%F$50N 1Q'#2JE
MS+AS)LA.RIGNT9A0.LB!K0RO=Z0H'>11Z2!E,@NS1.D@M#%.&^,D]23U)/44
MENTL'60Q3XCYRM*&%:S.$.H-_=:$:^?GY_/F:^?IM]&\%%Q4&SP>S>I+\W+S
MA_JV)?4V/=[-DL%O6^X^CAEU<RXN@$ C0%DM(/@DH-@4K7>!.[FQC;A5#L>5
M;O]<5?O5<GE9G6A\75ZV6OVV4>JN2I*/&3NID^K[4 F"WU">]+#A)[(73@0)
M.3M3088"O/,>BI3>:"P272<'L7J"7YE\P@S_@XMY(Q).</$]D8\2M?OPS*^2
M@!KQ&WV<K,[.YM/<^-NK\*G>Y&)=ZGZTFK<.^?(L+'"TQ-5JBLW'&@^]2>AN
M<KL_AD4F!WW0.GG4-NKD]Z)8U,G$S"%EC'5!H"0X+IOJXTK[(*/(JI,2&M=(
MN6J3\6[^+GSZQQ>R_#Q?O&TP\D-88GYYJ_585V5U]2F92LI+(!(3B4^,Q$YZ
MR5,R%:-,-DU. T0K/6!23BAK0M"=9 7LF<3&TV$;RO?>X<8"7C7HNMI,N+@Z
MA+KN4W31*B!^PD6:+"D)O"L]'$)BW@EFWNW<YB5KF"J% _<Q5/M5&/BD#4@K
M@Y0I!>RF@-_MB%P;@7O=*O[RIRO%SYT=9N+]&;?#3&NC#0M"+"'V<!%K;7+1
MH860FV4%;Y*-DRP0 Y;Z#Y>*RUUO>O2*6--C*.=T$4L[(YTL+6Z.DEY<)=6/
MXN?17Z[.E?[UWG1A,GAD\,C@[<[@26^+<9R#<C*#RB9"-*Z:L:@%L\$YS?HL
M"O[S-0*V.5WSK5RG/IL#GJ[M(]H2;0="VY/?)2D^B20KGR5/HI*ZR+I(409*
MPFR3K6S/3VJWU"?='W9V4HO!+7!ZWT0YX?.0=+9KQV>[J+/'MTY_/00R@YTC
MTAW2'=*=SD]79HI4_GZ"?RH%TSH7^U,Z"[/W.%J$%8[6OR]'U:-N IGC=3BS
MR=?^4+W6)NF[28Q8X'*UF*0FR[MYG5;5QYJ?1'F#I[XB%BYP'[R K%USI--G
M"$4$,$QF&WBQ,LLNXIUKH+PN/UWAY-=*D]>S9I'<_/]/7P#RZPT[FA=>S/+O
M_W#KG9TOG2FSL*,D[T'4<3@201@\PG>?EN9-5MR9II.[!84>(>CZ0]NFR8&6
M:'0G.1-[12H=+7WRLH3"BA0:H9)15#**I)ZDGJ2>D@Y[3#J<S%*=B26._E*]
MN/:WOS:=+"B$1^L_6O]UO?Y3PG".F8,J.8!R7H!SS=*.VQCK(I!;9KL(J3UI
MI?<&%Y-Y?G7%A1^OJ%#_/;ULSO'>7E.NUYD=I2'6<=+:D#A*3_KH.'KR6R&H
M,;)8&!2)'E3@!F(R FS)2:2D#)?81=SN4+G]L%T2,392GA+"J0;#X:U97MZ[
M,!G?MS+Y?A2QWN>L.3;5- 9O]8/,+.7Q#SB/?_=+GFKM? H!H@@1E+0<'&,1
MI"R:ZUB2\!L-[M!:SDQ.H!0SH))+X(/PX)$74UBH5C=U:CIOC.2/D^7%?!FF
M?ZLDOJB?J/]N;FTRN\3\N@*D+5C4U;DK._:VQQK3AYF23\LBXC7Q^G!YG1T+
M6FH#+@0&RM2U2^0E@;8.G;:(S&SP6I04C$T:9)(<%!<*G$H9N$@2K3:F/3MU
M]+SF8LRL(V#3?LTQK'VP*4-'JYX^K:AX)AH=S?/+.,4]VM%MXQ1_ZLV@WC\S
M S6I13H?0]3 JRFI:YJ"$%AT@-ZC,<XE'L-=DZI#<$QE#XB^FF&N%'@>2ETV
M<6E1I%!".0&3ZL::[ZRRW1VA/'*;2O@F?!.^=X'O8FS@*D*618/"7" HY<%X
M+,7ZPGW>J/NCLU"\8AT,LJ;_MN45W_6'5;[X"OR@!3L!?/NQ4CLK*G%:^-YZ
M.^CH,\ [71*-*"F6DF(I*9:DGI[Z,,>_=6AQ,';TXWHVXGR:'S'C;R\O+M9M
M]\)TE*L3.9TO+Q?8A!3; &29SC^.)K.U>UB]ON>$)$(2(8FDGI[Z,,=/YYB)
M'D0/H@=)/4D]27W/06#*B[D]P:]F:7Z.5TWD+\*$TETZVH#9MUSL9R]TH/N<
MRAGAT&NP1CM06@B( B-HU J-ER[$TL7AY+6VOFN4]4W5U5^PJP/$LL?<S./<
M9"3F'<.3)N;MC7G:!BEC)5V14H/*BD&T/D&PJ'54J)C;2,W;YF!O;\PSBIA'
MN>9]^]0++'7"D/SJH]4LLC%[LS&B?K9H'H!AKO;"5><Z)E0@618Y:,YY<IWZ
MU;^VVKKL-?-/,[([Q,'C>]+$P?WYVD&9J'VL;G:4H#Q3X$SV$)F*RNJ2'>I.
M?>T>.$CUK"FQ^? 2LJKT09N4-9E]P.6J;1,^R_<V#:<T+=I\H\TWDGIZZ@,=
M/X7'.@F/73F2U;9.V^K9TTF(DVEK8IM2#)?3]K6RF)^/VN<+\P*7]7UAN<35
M\EN"V8YD,LOUNYZ+9A6PS:Q>34\S%>N+W+XJ^_X4F';X'C6M-_>VWDP8+'JC
M0"CO0+FZWO0Z"2B9::\99]%MK#>WB;O]VHSV=?FO);YHE/MU7(7)K.GI?EUQ
M]>?YX@87?V]H\?<K6'SNJC"1];0*I6C<\3UIHN/^LGUX2#DWA:QY:J-Q";P-
M!8K),OG$3=AL1;!--.X Z-AC@9GCA".EG7:R!GB1TN(R3-LJ:XMYE>'5YS;N
MUM1FNV@"=628CE7+R##MS3"Y)'Q G@"5\Z"$1HB^*2::4F&2!YNDZ*9'SL5D
M%:8_?;K 69ZL+NNJ_=4L72X6F'^X7/TR7_T_7#6Y6K111"XZD9!(N'L21I5M
M\5Y"T8HUW<(J"7.68+A56'PE6U+==)WIDX2;;6(H6$$Q^=[\<6RJ'A=<-.'W
M-%^NEJ.ZS%R\KW\.[^O*<[EJ?/6$F)?KZ/RR2G!;U&1^?CYO[FN>?B-K=:S:
M2-9J;]:J!&\2;SJ[B/_/WKLVMXUD:<)_!>&=WBE'*#69B020:<]TA,ONFJU]
MN[IJVU73'SOR:J&+(M0$:5O]Z]]S$@ )7F3+$BE15&[,5LLDF,C+.<^YY+DX
MCCIX28QD@0!%V6"EY\;G]]';=3W[\.KGGK7?(F>_[1C[3<?7O_1L_0-P]7M@
MZI_#V\C2[Y&C]^5*2E&O"1:?X$DG6'P\=P:ZTPOIB=+4$\%L!;JXL\10YJEQ
M*O#J7JTC'P$6DV\C%4-Z_&BM4UQIBM%+,7J)ZM.I/\OUI\21PR2.?$/7L)0=
MDM HH5&B^G3JSW3]Z29J+S=1*'*C?-V4NH?QIPWK.>"6K6@]^5637_4(_*K.
M::U,8,39PA-A64X,+1T1)6/,29:'PNVKJ>:;Z6:[M3?SMWHVNZZG'_Y'3Q9^
M;]TP!2N3*S7=,#V]DTY(^'@7[[D*MBP]X469$^%D( !SFN2Z,-QS+DRU%29V
MU_Z4#X6$ZHQ7Z:X]I6T<0CG_Z[K/*ZMCZU3X5SW-8#BL'YYYC(5L8<JHQ#?S
M"S_+8D#D=-YG<(^^Z#^8--,/&8#.9=+Q'ZR#,SW'CK!M,X$C>[S^S8^AY=QZ
M.YZI4.0T5%:5&L2:,43XLB1:,4H #PLF"P]R;KMI\QW,@_6&S/N2?@_64WF-
M8IYX1^6G(<H2G!XC+20X_3*<:BY*)3P8%58Y(JJJ(E+S OXCG5&RLF!"[,/&
M. B<LBKA:;H+>"QSX]<&"S;:VU_")_OAP00>/^?(KZY9F(E_1)%W#-ZSV^S,
M<Y5^(?>YK0*1PG(BRB(0;4M*@O=<*U$X2_=VU[#A7EL7B&^F;OV#T9,_1C=&
M/?WPKFZOFE9/_AO ^0I^<= Z\/*L.&1]E2\2Y1.7KT]#%B;X3O#]Q.';!UEQ
MR\%D,:PD6&R>Z+)PA/.JH)Q6N=O?!<D3@V]U)L2#&4>G!=^#>03_JV$]\<]#
M\M*W@?/JW5]\W6U7C8MS]<?,3G0+='6E/W@R;9P??@/SPJ^'U4_\9^+JF8_D
M] H8>G$Y?>V L"?Z^A5^^_I*.R3VD=U<=]/I+<SN@W\LVGD=KH>WQ)\2/W5
M6)]QB3#"JR6-?3XTFNVV;VYK+.X^D:_8CA<^T]8VE_ ^O&+-ILT<+Z5F\#&@
M&SSV80;&Y96>S;&&P?S"MQZ!S.'E%09U3J,K0J-IV7<#@,?;.7R ]<G:\S%A
M/_S6/1CY/CFRN.U*Y1HR 0OV_T5^O5AZ;2*[=KX8'6"NK_3DD[YN7[_XCR5C
M+Y_LV#)NR&Z>?!36Z\%O.-BKT3)O\=KR:[M[J,/=2MBX"PB\J6>8RGN6@8IP
MOH')#T'748N*P//W>?/W);K\?0DH?U\!RF/NTU\B-LZ;[.T2 -^. ?"'8>\>
M;89+!'Z_W+!'.,]];H#\IO5_]]M4@XX+A_'R =>]#\7I&Y7$$UW26,7[VL!+
M8^POBTL/%L_@2K-245>!XLB9 [M*@2W&I"&<*6-HL+QD6^40[E+=\6? S&G]
MKV@LK5  _@$6U2\S4).F\_C/G\,/ U>NF/+=LKO2KS"+[R>Q4H(' ^L*WC"?
M+?SMI-T]Q,Y>LP3O"J89.\_>P;)G]56TID'#_'[1UE/?=N%/W^NV;O'3\88^
ME-;U""RP#_H7MJ@J)QVAVDDBM 'ZIQ4GVC*E\L!U46PUG/[F*DFC0_LY#$?V
M"[" O3YY@NX>P!>\PJ*&M;WQ?&\@[6\DX$?:DWLKDMDGW6+H8S.[:F91/ZJG
M:$!VN@ENR%N896AFTUIGL$,_Z9F]R#@]RX!0B]?]Q>47!WCG)_H3VJKP\S>+
M#V#+9ZPZ@S%8>9ZM3V;>?/ QF/)3/;_(ZGF;M0O3UJ[6L[HW>.%;>!VVHO98
MF1(5/5@!OA!KT'#Z^FUG)I_%?[+7P\>?_/*39C9\V"QFY\.G:&3WO\T SS1V
M]$$C" L%?JS!P.G* TZGONNB=XWW^XOHA>MC1_%A?VF\<]'HOKQJIMWM+IRU
MGTU!X=-X!E/=7_CVACON67O=@M#!=>AYYJ?H28(]F/D)@NS4SS\UL]]Q^'YO
MT:)'/(&A49F[FM6M[\;4"Z"O!B;H,R"YWST8]^.5Q3H]U>L6ME&[?R[T#'[=
MXG)AX/= ?N]J_Z$Y&YWY^7VTY;M09[9FRJYAYV#:)GFR)4^4]98+FA.;^P)K
MQ JB#4@)[Z@66M(RSP^K3T4EX.<P5@$&)!T!+&A=;ZQM%NC'_A E$;!UDD5+
MVMBI2D6^_F4&&%-? 1Y$3!YO_>E*JBV_YV(P'+_%NYE=:$!#XWT?US_K9!0.
M/'/PM.^DS6_G[\^S#W[J9WHRN<:O_14.J9<$"S]?'L)W__WFS2\O.\B]NH(S
MC9 ]6TSZ9(&9_["8='<TO4LV>^_M8M:UAL,GAL8G",V7==OB27_W_D]O7^)O
M]<QU< _X7%^.E@4+:&8XF?/LK9]A$Q5XJ+O;&4@%?32CSK @/_!K7-,XQ6$0
M(U_>NB]M&.[ :&]7)P+RM;FLYSCHU6+6+D#JH9AN%Z Y[-RA<Y#^VPO%[GF=
MS(<5@1"T@"6@!\1U.-CP*.1@;Y=/PB'!Z72+@3G@"L-B,LFNO9Z!IM'&&9S%
MS\=[MKXKP'^]7(07=;N-BLL/\'C&*/E_67O1+"8.U@S?ZO@C6/D_%M/NJC'N
M3'SSKNV,Y++MR-\\ETUA_68ZQ08C?]V:S?^W6FB-%W]QJ: 3X%CO8,- &9EE
M.4-EB^</+<G/NLK*,*CMML3H2:2>]L+[^=H1]$H=ZJ*@:,&YNDYK6?'[3<Z\
M';ZT83OC.WON73+AH.%%_0L^_G31(&<TGZ:HA0W*YC60"Q!.9+_^M++Y3$_;
M[F:T[=4W[+*\"3%^4L.&#(JP'0/U>5)M[J#:4,X*;<N*"& &(JQEQ(@@B><4
M#E<+83W;AVKSWG_ L_SK +"=H9S,Y<W^X]TV 6(OV??!'.JWGV5VVDK1IH!H
ME@$A45X"I48  GWE<I"8$?U^FT8PC5C9@=AET\8[8\3"(:5Q-,)-9F&GDTZN
M+YO%'$3J3S68Q6TSU]]ZD_PT][W?[RBY01R#1.N9 @SVN&V@[71>@Z[]P$Z?
M03P\]OJ>'H/=UKV]J'T8J *F@($^J&"22_T[: 1H8RQF_5/^,^BEO2X5:HM.
M!1"*L)2/M?_4C@89]*RH9F;ZPP?44^<;6J2)%@QJ):#Z735M9Z]TNAYJ5# !
M'&M[:KC"222[WA$'KX-)VIY.D39!1T8EW,\B\J FH=%/@Y]B\X;ED/UI)-?%
MDY#OK S"!L.)H 4EHN @JW-5D6"L*4*011GVXKKXK?4_AS^U<X!$X-PDR&$_
MD,V6.W+:R-T9LDMPV6F==?HZ@@LB]<K&G6&J#AK2L"[](3Z,"(]8"E34;]^
M4HO+JP[?HRM7AP#0'V5O9TNB0^%R:9&,B@B,.\?COU<&?.]W1FC;*#RP]ION
M+:YWNM_.O,=!;IH;"  _7?2S619"<(O84F?UHQZ2ZP9,MC=VOAB9[C8:RJ[&
MJO2=+3B_ (FPVK-;&$0[/]W3)323ABN:2R)\ .3Q@#S2AT!HI62EK;0NA+U8
M%D#T-8A6D.5[]GZRS<"+8X2D+]XM\_/L_>(2IGF--#?:J6RU5=FP5Z<+4>]6
M;-76GT$KG\XOVMZ1\W\7H&'F-#IQ1'1?X378TN$P121"[QFF%T:/8HQ^VN5'
M:D?;.W9K]MN;1?<+.NO-H7U1CZN;[0,[<BFTH(;87!LB>(7)!+HDCG+M"EMQ
MY\I]8,>O,^W\FZG[&8^]9XGVK["=]4?T.'?NB3M!!W\"T'%[;2;NTX 9;;;:
MH=/%C+_Y[*&YJ+>]@.T_--&TG7E7SS/_44\6J\N.:%LN6M@@O%Q>66^9U_9B
M^<W*6.T&^01X<A$O##N;-J+2=005Y[&@4CW%5WZZ\'C[/QQOYZZXTNT<5!.?
MQ8<G]?2?"U25P!(%>Q1O));W'7-,;D$ PQ'AQV#$PO<+,+S/,]A0 -YZ#H/
M)D[\R-=[I:\[C2FJ,3L6"+;Z];]\G"T:QV#)?HH6*G[0+Q"T.=B%;G%?>& U
M:YQ5O%V*5P4P+&IA77[XZ@<9N@,0\,=[LK;JBQIF.L.LG-$/HC<!YNXPMZ*_
M,!E*6^%-3CWO;/)59 /Z/5IX/PJ0Y>I'&P7#M:@NU@[&@(>\ZWP6'H9K+O$W
MRV'Q;=["F6%@V?*T>HDT7!-T)_MIAA=)J+.#MHQ!ZV,E_"(*K(XVT.MRT2O!
MD_IW&/:B:5RG.X^F"-MT"7K'X\H?$"C^<[RC^&-*IWG,O EU0]Y$-#N61S3Z
M.Z; 9;?-JGC"*17K.W!:@O/-],$%YSK>8^KC/"PFJ]M) ":PB@&\Z_8"D R%
MW-F@@3=7(/DZM\4*^\[&L-;;^P. PF##&VYA8>]!&;8ZJ(HS1B18*$28,A"C
M1 6&M#6RRKWT^59AA+LHPS]./\+2F]D^;N5.3/\=MN:DK>0W4;U\<S6K)VA%
M\GAEL'&SOU0KKV:-6]C^/@L6L@BH^6$LB[G&.(^9BPF3:/=&Q6'F8S0-1@+,
MVHOZ:ABW'H@N0W,9%,=Z/O'(8S$@8!6%&A7,02WJ%1$<YZHSL>OI',-<LA:^
M!T-\WNO+9VM1"=T<VO5)H!L/=MN[Y526_CY8!,%%7"]5V_%*9]EW;W]ZF0V7
M*FW4D#%>MM. \8X&.[VC'C\HL_^>1<$#6NJ]$7)W5O]M;M= PVD^3&$,MW1C
MKJ__.E[\3#M7*,(DWE[N<G ^-,S'$[;+N"R8""JR9RLZZ*T.H$@T4S[ZV371
M<P(*G/5+9^PH"'GFVRM</<:61=-B!C3W(0Z$Q(<NF%7<US BTLP'T'W;&*#4
M65"+Z:3IHIE[RD1@!0; %\=)=Y[9T93',S%>HYT#O#:KV]_Q&)K)Q\Y%9-!O
M-;BNNK?VO#!Z0Q_OA>%C;>\ZGO37R\.!HJS#)=7S;5YJ1\_U-LU:$-7&!>0H
MR*CMUX8WM&A^#*%=N$4=@'R"%X%5A-82&'7 ..A/OUZ[_[: ?*W3$W^6P>G_
MJYEJE,]PA,-!]R;O$G ^X9=7>(':+-IXY[D"GQ.^(/]Q=9AMQX-NH#90?H;X
M>0PWF&%(.U+GI/Y7C)M$_P'0X0_P31WCX#?Q&O?W[4_M63= O6;V+=J!_CK9
MBJ\%/@!%J7OZT@-QNR^-OB8-OO*.4,_:.<&,A>ZO9C&\(?ONAQ]_^/GE>?8&
MX\NB8=WY#*)Q#J3A>SCK(RY&8-Z1?+U[7R)<C# 1* [X$9TA[3*0L[?<AXN8
MOX'5#! #8J2[BP=%?LC6:@SP"BQL79C,5K<R;N4]Z"D:[.D [[BV$]P=8*'(
M(IVYW]GX(Q<#^BA@3&#!A]$]"^D$4UH2YRDCHK*2R-(PDI>JR'U5"*WV<HGS
MRPP##.;7OTSP&F?JL&;+%9YOTD4W@6#8JB[,>=BGTP6^M?7Z8;V1J58P&-D^
MN@JC\(>W@JXR7X.6%B0@'@B9 .8,H-( E,5O5_RY:#T:CRCMEW&MW:WPV2B
M?9?N<QLF&S]/0&R2^C.YJ)WSTU<__%WEE7'6HZ6'P1I>>*)LKHADM#(Z+VTA
M^$-N_?QBYE<N_K7_>3#/'H#W7?=ZY\V2LI5T4I!022Q3I0-16+?<26N#+WV@
M5FZ5J1(^MS)H4G$)(*AR1G3(80BOG*'&!D=O#VB_1?+Z<XUA-Z.J44@+K]QB
MAF5<6S]]R$/VTWB9N+)L-X7)0VOYO][,CRAN)QXDZ 6@:E9?8AS@$&T1.7^I
M4X!>Z^N8[7@#>P>_QMU9?[T:1X^6Q%D77.\_=C%][04&<<S.\7)6U_W-Q*7&
MH,%I%RZ'8KZ+Y'"=6AT5!U 8O@!A72!@?T4 ZX&1XW?HHXIOQC@1#!F9+:^?
M,9"FGMG%96]-# D;O0+4-XKI@TUB',Q@RUWJZYCM83J-!]4XT(- H<%;GU%\
MJHO5T7ST[W^'^2:XCY]JV!?0;MS+LY6FU9D>G;D!5L/B<M']O83@:#[%=5XV
M:-3T@2JCU('N@N<Z^Q"5_5EWB](;(JXOTX83N=J]B7 RT<$?[T1PV[M^(?U!
M9-]A\NRE?[EQX?[O[;I=LS1JH[FQC/=]&"5+2<65\A(;K!DB2EX0K0H-V%]Z
ME@M'0?G:AY+UWV! ?JHG$X"C'Z=S-'7A]-_$8Q^^2C?>/0H-&W*Z>M7?5BYM
MQ!ZT 3_TB\X64]<#IUZ G@3V3I</]F%1=REJ;]Z_S7A!XR^7OUIUZZF7Y#4.
MJ)O'2,'F8Q>1')V-[W_#3/6*4'&6O0?X UB^'A2V7P&TXPN&L\A^7.)CC\WH
M8/ Q\EF[YJIW*8P#9#CE]'PU0-U&_ -H!&,4K3VSB @R]\MKVA$&ZQB,,XG^
ML)AIOPRS09R",<!>Q>A%>!:3 ,(W8C6HK6N;?HF$C-C<30$%QWM,ZEL? #&\
M3\$ZB]/'!6%65!\9_QU[F6F,^XYJ+KS_4MM90W;<$Y]EW_&7,<)[%;<T^EWT
MV"R]?N.X<%C?=_D7?MF=<VW],ERAN;QLD*C!@NL\;5D+]KN.@KJSJJ,L!F:)
M<0+1)[FDP#X4?G05@YG['_&EG;7<T2:Z')I9;S+#"%V6&LC1CB+C.<<SB_?7
MZ);0T[AYRXOM +O>.P7ZB:^",+$0*(X02P;$GZX)V\[%<KI@\6.(OKQFF?L'
M6_806QI=B$-<C,;SGLZ' Q]Q*O)OIS=^Z8F8 Z)GOMTQM?60VS@U8";T?&\H
M5..@C8%US[,?P^W&1%>1[]VT.S2UZ-GUJRCDMG?-1P]6O$49CW:VPHX>V ;&
M\6X$(O^G^82:Y!DBU*TFB6<278K;AW++J6X.>18K::Y. ^!Q]L%W/OBEY\W_
M,T8.=;_O?6I#K/7F^P>S?;66[OAWOF.$CH,?O9-7:XM9G_$)\_*[4;S7-CWH
M'=3PCX6+.3\:DW9!J437[I"DBW<5'3TONI2'L5"X,7Z_\Q?CK[HZ*AB(-6LP
M@ U&6,:[1>Y'@8=#QZ,#_<-',7.U,),HS;H[E,$+_5NON" P=1X>&&$QKR>P
M3VLYT=$.Z? @^H*[\28Q$7E(%]-3]-[&3(462&@"^L0J#6H]1SE2&P@@D&6P
M9-L.57.V(:7+P.XJRW9Y]IU<&SGINWM1-%N^L"VX)3KF,2 1#VT6 S!NOW*@
MH _77WWCH$CU61CNV[(P1AEY0]"9=\O<!L"G&1ISL 2@P*QC ?ATM8G]*I??
M#(5XP/BHAX8N<4UGPZ-S_3F&V,'#?_K^QU_?O3E#\7#EXYTKO.X3'%;_?<SA
M:# H",A]N5/+;R^QE6145[M[+(P@&A'=[ZL;J('\M]</7XZC)[?E6U1GT./?
M7X M.6VUI\UT;<A/&'@^J6$+<5>[.@AMT]4L0G6O2WR98?;^%<8IVE@8NR='
MO#B+RNABVD]^F382%I%KA^P1Y*K[Y8ZD,+LC";-C]&YQ=L\LRFX?MV&V,M(9
M2S33@@A:%413KXG/B[+407BZGV3*3>_,#S5FEO\9*W<D!\WR/GS8HQ,.R=J5
M?3Y$@$?8#Y$R"#K'W2ZO"\91P.^Q@ETTL;7MQ?SJ69"%#J3-!*0R"')O+Z:H
M.717]4.02)3S*)XNZJNV+X,T)3@RWG7',/^NU'U4PH<[^)5Z1U8A*9M3C.I5
MMXS>QX^!\TL'#4K'C:N[+@E^:0)TX_3;$V-Z8CF FZX03EBQ_YL?4D&N&OP(
M_38K@RC&0: 6LGT&.\I/?<'WM^$EPXC;D9L^:EP=/?:C?X?.PKRD+[OLDF]V
MDFU[!6Z^R%CNP'S=&-R8V'0G)=[MRN7;9O@&:RK$V!:@"']UUKM5.G?7TH75
MZ>0C5U]GJ#48YPSOZ!Q_0^VNE7G[*GK_Q@98=.2.?7<=)W?*Y2BNI(D!5O_H
M\E]Z57&K-L7KZ# <#S^-CCGTM$P=8 5&D,U6*2ES4$9=^_JK_D(DRLXWV'D-
M=WL(3YAQH_>H;GO:[:ZU>@)K;Z2PM="$&^AM/= PNEMZ_,<:*KU;;13 AR09
MW23H+5M=C6('TJMX+,NQ8R ?PGWOPUE]N,O5UA$4$.,.<[5=)5XM+P=[5\+F
M##8]<KW-_&/8M3^#;W+IQ%I[?3^EU2QNWJJ5^[&+9!LV:7G9?(-7;3SSSB<=
MMV3\I,9+SW;7\79Q;KT7;//DM[U?P(F^"PXU:]%L723O" CQ=O6$.6G3M[5!
MFNMBH-DI"P_C[OHU=@VZV9,RX'SO.UES9707:TLT[KTE.('(QX#?-EZ[;T/X
MB,F&"[C^F][MMN::'Q'L/CTB:\..W2$;A_/T72+[R'RG8!:&TA!>Z1S,15T2
MK4).'*?:Y:8H:%[LP\3\:T=G?^V@ O<Y15IN@DF_1]EHDTX7.3O/.:KJOS97
M0(XE+8<Z[L,^1*YXVZ?"]);;VR&WI2_TOIEQTTNB):YUN7?-;'"0Q\R:9IEF
M! AV&6W5+MD!GFO][&-M.[/P"SE!G1$S'>YT^MNR@#E\RQ=%);MS?X\GV:D?
M@_!$NVD^Z0/!AR+"7>T-A(.M>75(.:211S7.-C%#H:]FO+XCO3+1KBOT8!%\
MA*,$Q0+!#\ J6DK=Y0MLB8EX%M>$153G.MIV&)BP2M#:7%]W01OON;Z\JAUK
MZGX^_/8+N_YJ)S]$*JZQHNS\57E>EM4?-LGR:;+(=_7+P?MRO2)>X(7OVI<K
MJWG8F[-GMC>;F[,6,6)@4GJI(8SW[MEM$^S3NN4P*GW<&<#/;4L^OAR*4]ZP
M(0/L["8IY+X-HD+=;^<F]NO&-0Z;.-Y7(LY%)?^PO(**SXE3V>B/+V\0R"-Y
M' 7%==;"SK8!K[]O8&-0HF_X*OIOX02ZK-QX,K G9]&6O9IC$ K>!?LN*/!Z
M$%\QU2"SF%D%BUB&]Z$(Z@WQ8>ZK"J;= CIK&%ZQ)HQ&-Y*8E0867SLG?A+=
MU'$?8?(O=E$%8^=,P9&O74EN'/C.NT<0R[/YZWBT)";"O4)#!WU<6T2P.B%Q
M7N0##1Z**FZ^1RS.&952*IHKRN%_1\NNISAS$E?_A>7BI1OH?>6R;.G(!.K>
MP2C='/5A4UA&N:YM?0F6GI[Z+G.TJ^G3V]=]TY^."XR?>@Q9Z)L3]6F, W>L
MDN#7B^6.^&=0\U90/KJ63;29:'.@S2]0E)WYSAN"=?XN^J)-0RK'=UWBJ;Z,
M%@;&S2#2 KVBP_#ER&F\*B45#:UE9%*?W=_VKW&CUW2EI1+E)LK].N7^^SK-
MNL;WD:B1JE;T&LVC6+LMEEZ/ET8QJJ\9P^;@I.S_>=&YKSW&[5G?]0"*0?)X
M>]'5C.N*H8^YID&6Z(/2,+GG?!<AGY;OYJ?1A?LJP6E0D(#'N[S5Y17+D'G>
MZJ%=4.<K7SX_OD%8JG($-P8VH5,9!\?-E]TRY]F?,'KQ:C&S%]'MBR%!6%@&
M@^\B3?C/&#$YJI(R"B<XZUZU:@%UAN%U7?,NO$==JOMQ57HT!*:(Q1</*\5T
MP;7?NOA:.[]!B\4TOUW;\0UKWZ$%#RF)<93>WQ7G%_,+ZZNK;I3NHLW'2XI>
M\UAZ%=:K#W853_JC7]8/7.[@#J_$5B&4VS+9:+IK;1&6MEM[@S7;Z_)+,IQ,
MNB7]<]'T;31L-.W6%S,VY6[OP.NW[0S_[@C@AM,=+Z!!GS^>\GPQFW:+CUSQ
M'_%6O+:K6IQMGQDUW(.L!07$RXWANF!YLMVHHZ*1HUOW%?_U[^YNS$<%798W
MA -S=JKJK"M=X[K+^; 852N_7KNG2$&:QQ*DR5(QQ.=8##&+T>"KU+6=XGDD
M7Y;>C%&>T2O48W1T_0^M/L^Z*(NEP[X92N9BB7%8Z.AZ8NWV9FL@+"&U#.2/
MD-^+ZCY\"_'<_H[PV&EP&%K797CC2*AWQLB)6;/X<#%$2/1%T_HI+#O\GF?O
M=KY]U MAO11/K-,.PF)-X@6_K/NQZ4E>WBD- ABEZBZ3?\C?Z&S^(5:@-_K;
ME=7?KZM9S#?.;IC9C=)E=#C[6EZ7I3MRI"])I;\O]_/V"W9?[#(_H@Q\TU#>
MN>XZ4+J/N)#7O:3WRZK,766%7LE9:UPQK&CFNEB3Y5Q'O3/.L[%ZZFZ8Q&A?
MUO9CM><:&RI]7";I _/!)C=3O]ZD:<,>&127#:ZXLYTR;G!X%R7JRY8**A K
M#^TR&FK7KN)NK[8@;F&_03V&++DO!L]A7>JNDEP<]2#5:VQ@)I>%(97WV$J0
M54267!!6<<4JQ[2HU'.K7H-QC_>H8//%_:946FF](9J9D@CG!)'4:%)J755>
M>UE5]B'WNRL/YZ>/O>5,ONQ;?)QPH-LZY T(T4OI55"$:[I\[.LK-#A638IC
M"[S8/&1 IVA\G6>_C/\90Z(^8O<8<[UAD%U?=9V3QA;WRKR;=?$%=X::6^S<
M31O31U7],.MMT"ZLRA1*NI!3PBU31)3:$Z4$EGT*#O!:44VWRCXI88"=N"4Y
M]YJ(JM*8]P,*>,&T OX"2 M#6)6N9Q]VQ51UN_DK;N:+F! 8Q_[M[^] ;7\1
MN_-=Z@D89'2M&-2KZ>*2N&9.^@=>_#&G0\C9L+"G4XEK[X>I*YOS7&MB"PN"
M1@=#C*PH84)13DNMM#6;AYFK4M&RQ-]X( !O'%',E\0+JG.OBT)6ZJ$.4QW!
M83J8<V\2](5MGP=8#LI]#+9?S% 1(Q',/L7JOU&U:F*+D0TOZ9K^A%U)42/\
MU'2ETS9KEO6#7<=4J$$[L[-%7V.FU]$[W3W$%^ST#RV'697]!(MIT5V<_SYM
M/L6;^U7?DE6VROB7L<W=,SE=U,.[0D#S3O+UC?ZZP)*1+;XR8R9#->*HJL_Z
MR+K%= B!<#>%0*Q2YWNW\JI&<1=*.'AT42;#F3 ^=![KG(C-%;J2!P&Z[B+'
M!/5Y?Q7BEB[1O@[M9FO &.6/D828ZK8,XRQIN>[FC#;*I&TR/^GHI?.7HI>Q
M(W$LTU.W77&F+@"QKV!WAK-KL;+*,A(G M=0D=;5?L@UBJ_.!3W+8D^M[,VJ
M_-.[P81\BTRQM-:'^C\?HU]\Z&:_.:/!&Q$#$V/GPU6/MG'UWG$Y&>129,_4
M&?XND>A>Z8)SQ4E5* ;F7 Y25FA+I*&5,9(I553WB40?2]D? %2'P.*_ ;<,
M4<7O^\KN;Z;N_P )3>!/))[4-GZS;?Q0 1_Y[-?UXO61VU(3^8>42&O'T57$
MV^@HT.D%NZJ%=O7M'UH?_+?CT.R+(A2Y9()X&G(BC!%$\D*2/' I E<Z,+N)
M.<'EADDGB<P=_,97AH Q4!#*M(5/C"G+8C/[!7GBYX!E 5N EO>]5_ ]4/B:
M8O_;^W<O,BPF"#\MQQH^*;ZBXM]@A9;2Y<P FN8&EP>3UB(/A*O2EKDJ5&[Y
MUO)R)P05T;?C\(<6?E-R A:,$ZP0FN5;R3T'7QX]9SM,F,>V:>"9R2A'Y\'>
M&T.Q^B)-JUC6F[O,1EC /JV/4EJY]2.KI'<'1?__ZC:Z2PY$ %MVIJZ_UAED
MU/?Z$4KH%II96@HP[Y641!1!$:4I)8*9BB%R%&$+..Z6-M>"0FDO@*W>=44S
M<,E_ZG8IU699)LYUN]2K_<M]6M=%3D_NKZW;C=:]8KB=!<(?A$6H5+XH R=E
M1041BCJB+4A,9ZW'JYLRJ'OI\P.+O'%@R8'IW.OJ;<HKW0H*6.W0J7/$>*E?
M88*3E4VV%$P%;HGC>0D*:A% 056@U%)E2Z5*D%-Z/U7#L$+BK_ISXKCM8F&Q
M>"3LS3.I%K;L![<JF^G;<5GWZ$W3X[C!90W5I9\.:VV.RK>O11^LAVP,819]
M107\(3)@K(T>TQ;F\UEM%EU=!HQVB&46NN^,GW_R?3CLKBZ#F\5_(P\OHX9O
MFE\7GU'/Q@7!<%KH9F]OO\9+K]O8QZSK(^2GNO.<#E5(5\YW[/R(6>#10ZH_
MQY7VF]_C4[PIB,[YWLL9W=+^\JJ9X17K>$\&D!Q&7E7UZ1(U8+Z8S=U?.\#O
M[!RO#MPM5A5+_/8)X#BQY4K6X]!BA\7Q['LW;9=8WB'SD/$$>Q*UG#Z&93UD
M&]ZV+%P[:LR^T9)WU<0-B7=['9T_^I-?2YV]10WRV ]T(P1OU^B89[@LGX0-
MXDZZE^ F4,0S[T^S)Z8P+KA[U;1]:_E8G"#6$4?B77T>>677*<! QB/K+,MY
MG0_U-#HRV_&2-<8;>AQB,>]VOE;? 2/*8_A67ZF\H'\8WK]\[?(TL[>KV[&U
M3-+9\*Y13Y[0WY"LT_Z(=?V(A89B.%EC0959#T<;X3!,T\= [F7)Y,5TW(L5
MP6F(0(S<U_]@Z&2#C Q_Z4ED8WBB#[?H O$<%MS!.HE=Z<->-7H8!4=3S7-?
M*A)"H5'!<6!\LX(XYL#*J JI^%X:5+^_@-/Y'N])<7=]O*%KIC_'2-+8TP8#
MO&'YV'.K3<;XX(S&RGHD;ELVWK?3A;>U*$H[6G)O7(Q8L"L[V/2%IKJ\"^"B
MVG9F WZ)#E,$&CWM?P,2>])<^U[+Z-(DFEF['K>ZB@7841CNDT9(&'I<8?PI
M-A7&-ZSGD.#7W=RZ;T=CM:M$GJY^5<38>-3=/-;6W>/!V:@=XO<3#<^^MQ<-
M6E;=6\B0[7+9.#_I@*Q[<9SDVDH>W,N:TEJ.,:V%I[269YC6,@::'LW6_#I?
MK]H<BWJT6/1Y/5!]P$B4Y%$5P]&W5:I>8P6[,_@:;<Z-B)435]['U1%C&<A>
M4?TZJ'>Q:&U?>JS=3\T4<5YP^3R2^\5Y57!6R5(HGE>BXL7I9??_L-6T:]S
M;8T9EX4KUEJ\ :/'G\?LY9GOW1K+V+&-5CLWMHK;F;F?B#01*4[O3TOWF)]=
M]HZP\4?C;/]QF&'79C#[@@0;.=V:Q1R3NU'M2,28B/'KQ-C9\$A36-CX@\\^
M-EAOORN6_KV' XIED3GE/%957IF)2\I;_:*WUEH0YNC2 G0<UPZXT+.AS>;R
M)_78Y9/H--'I9H!"W?Y. D8GK?R1T6F/\#G;_25*\S77QF_G[^$'L^@TO<ZN
M:S_IRLIVGN.-W(;>;]',LG_Y60/B?7$%PZP/,6WF0Y^]2RRVWE^_8.N[SY$[
M@/HWFD..L3\1?"+XKP(S3 RKT[H-36'X..NZ;RPNEZ(_DFN?HC#.H.A:Q,2<
M^>''G2,PYB-,FV661E=8H<O_[FZUAL=W4NSA0N.*0I24%B2$DA)1A8I(J@LB
MA';2TRKW8B\5Y=%J^!_4^G\./PS7N#].V_EL$:]QDS]^;%W%C<I^6ET\I0C]
M!W>BK'=5:3<JM"PMVU5,0KVBYG$7:&RR<=89LS$&*<8H=(5&NIIERP\!"9:?
MQ&3 S9"%Y=7T,ANL-XY'93]&<K$/<1C="F1NL;2SVXMF-A\DZE!HM_7C99RP
MFVSDQ!C=[_:7RUU3NDZK&7][%N^LN^J#9%E.;?Q$E!\SC]UNS\87(EOO6 8J
M;!0T&;ONXBUVWXDEIA[:&G8'L_ACAMLB'M:R!-DJ;@>TJ56YKS7?:._6BY5X
M0),#G>:CGX#9 ,8($%0,3H'AL*D;WHWAB/7T:C%?]R*NXC5B.\#ZGTA8JT;"
M(W+K7MZY=E''NVE#EA'RW7SZA$A\UVIJ,(3S6!G(X)9Y6,:K1[UC2BID4B%Q
M>G^.),M>9?]O5*^P[YD8@RTZ!NZ(O.N @/9Y'WXU8M58"RD9*XG2ODQI?)/2
MD*Z&_O,[J6J;%E^O%=?<),W1>"-= $<92'G940O%83?TZR[Z&N^02"<(W$I0
MC,(:L7+"N"=:+U]PL,;@75\?&;DQX\09B3.^QAGYJV@W]10W$&$LR+%395G2
M)!8"P#@_#%"\@387TR]2Y^TM]E1)8,L#$9ASG.>*..<%$2S/B<XK0ZS-6:6E
M\HZ6^_! P!Z^Z4PM4)=_F373!GO^C;P/J6[ 5L(:!@]-KK,WKJN:LMJ_;'T#
M'\Y0[''J(>'E+P 0WVH*/RDF?KZ$_2.8V\^6KG^<9G]I/OI+XV<QW[QK1?C#
MF_??@[7=[<O[W^(WA%9G0[O'][X+9__KLLS0=UU+2"[IRU?9CY=80LLO6\IW
MCT6Y.?SR75=T"<.RSON^D/%-?VG.A[<MNSIUJF8?%#(T?ABJ-IW%2#+\O^FB
MCW2/=U/U9>=T.%L3YVW_^F5BX%*-G?D/"U!W)]>CVKY-5["U;V*!M5/#J,DN
MECJ(=8>P[^TL^^[MS^]^>GFV3$'JG'7+.L9=7F$L]#%;;4<_GSY4-Y:-[3OJ
MPEIZ_TB?D-,_^N^Q^#!V'D(-OVE[OTS? P#GT(6YX>RB[_&B^117,K1/@P&;
MQ<P.GAG<]+H=9^-@_#*NN1YNW+ K^_0#UJO=FGC?WKL?I+O?BPX@]/346#BB
MSVDRRXOM&+^9O0/NBT3'BK.>\' '0M=P.1[?4):V=P5]TW "NTK@86K71T?7
ML>KO93V?#TE1..GV(KK1C.\V(!8OGL^:(1^LR]7J*KW576W>.*4^;&3E#]N5
ME;;N=HOY0[Y30CNW&KY_K4=X3.N I[M,K5V.9C?BFK71E\6*NVNKU;+A!?'6
M2:.7%_NF34:OB)W2QUFP.Y=QZOBWI)VOX9\ZRUZ,TT0'T*O$+M!;/;D&=B_.
M-W!.#3@7,P5UK 4"YZP_? !(ZJM\=Y568GJ<P5+C>E3@S:^WAUKQX)"W%Z-A
MX50G=3\$MLN>H/MI1$_KZ5S8U ^O+P%5_K&8U2TVS%[VQ "%>NJ6_@!<3 R+
MNCOOB[[-RSK#CKCUKV.>'*!JG*\WFE(,>5EG],.QX)MVZ_5#@N<H;6WTDY@=
MM][N-['NW5GWIUA* TGH1KX5A'+@V[>-BSI W-DQJ\:#Y:_?K(XP*BR7\#W\
MSS+==EG<?8HM*MOL_6J37XP9&E\'#(<_QPA7$!>+=A7?&L>QPQBC!.9E(?>X
M@I4JFE)H4@K-BS^R?'PL*87FD5)H'@'CWF-H<0P]'@/82'.?NGIHK-6'U7UH
M]&2'7*PC]K0@029#^^TU3.P2%6/%A$7=7BQK+DR;*=&+^05>"'>9P]%26?L$
M?N%BRC[8"=C-:S'%'.NM=YP-K2JVX*^[1]AX4=(VDL*_?X[ZF^_WIP7S/X;V
MPS%U=CF<3SMH#P:T;-S>:]_O+3[9]0/J2P[U#(=%#L95I-WR4FSF)W#\JX+(
MRUYRL^4CXUR"W:=VB_3\G9^" -B'7[XL-0T%*PB3*A#A:$XT5B>JRB"<E%9J
M'O;AEP=C'5FV_04+^L+NG'YEHIL=S8 6^3G,=I[]&=T[L"59W).GX:V]RYJ_
MURU0W!16'!U:V.BQRUW WL-Z8A==,K[I V01VY</ZX^ZG@Q^JW%JV 4< _8W
MZ3UC6VD7\0W1M[:6F#;*YUGUM(QNGW.PXR<+'.)N,]W;1/H"_Y=#&&'OC1H"
MP!S.,I;X6!9J:;T=8N:7#D_8_EAXK;O-W-B\=6&S7%G;#8YAB</RAU_%75C5
M#I@/D?O=8OK"47N^-2RI]RP(1J1RE@CO!#&%X:3DTE%;Y4HIL9>J(O;"N\7$
M_QPV<2I2+E;Z[+;E5R3$IWAY>-< V2Z8,!YZY,&U?#JL+[&8+U6G'5SS772?
M@HFL,40>U'A0#$=?8P/!EP]M K\ZX5N^WBS\S]Z'OQT4 PIX\[HWZG 6:./!
MI/%Q N8[8!*\XK-WKY<Q'^?T#\,/X%0F^JKUKUI_I='S.*P^]KGKQGZQ,DWG
M2]/T8]W67:CJJV&,T8/PI%L/-1'Y>4'5']!TO?DA=EZ47WOD:]^#O5OR^PZ2
MYG$$\_C/_YC/=I%>[]B(C&6T_?W##*2J(SW A/C_=@/,)R#ZSI_RJO.JX <[
M^'O7#*/@!:G:/]FAP^-XL&Y&G#L&$OS'W*4U _W@M[%H_A?7OW2@#9[0J]B)
MOG;9(-V.VJ^Y9?+<4G.XL?K]W2GI"SO9L3'-3Y7:$H<E#MOP&]>?$W_M@]:2
MWI!0[3%0C2=4V]Y O+U) )98*;'2/E@I3ZR46"FQ4I)*B942*QT-*R6I]" 6
MJH7="/9;+-1;6:2P>0\4"/B 5!DOG?4<WG!WVMRQ@!.CPV^#MYUS/>2.Q#O(
M(Y-Q:1,29R2B2)N0."-Q1N*,Q!F),Q)G'/ V\AO,NKC*>HKUP%XQ :/N7-97
MC+]Q8&$<9#PJW0QK?&S;\':F8!_#>ALJO<V6/2\\V_&B:?.%;5EWZ/!SCAX=
MURPP>/6!O&!?IZC;[]"_[9EJ;K,]QP&*>^7![W9%A&___!;OO.D-?;+!#S-M
MN]HA,=O ^< *&DI";46)R"M&=&$\,=QR04NF624WLPV"RPV33A*9NYP(7QDB
M*UH0RK2%3XPIRV*[1MF\JQV!Z3\O8G/).-IO?__M_3M0!( .X.G\12SQ<JDG
M[7^](/ O+',#?[W(NF(1__6B_CQ_-5U<$M?,2?_HBS_RLP*SB=<7^,>'X]J'
M<L3NDV]?)K1/:)_0_GFA/7>RTL%24IA@B3!&$<FY! SGKC0Z!*'I%MKG3@@J
M!)'4.) 0QA(M2DZ\<4ZP0FB6[ZA(>5"TY[1(:)_0/J%]0ON$]E_0[0WWU H+
MRKS71( N#W\5!9%2%"7@?4F=WT_]X0.BO3A3I4QHG] ^H7U"^X3V-Z.]I#G7
MU!DBRYP3H;TBIBQ*PD1550#JA9%;_>ZX 1O "T<,0KXHM"2ZJC@Q5G@-YH J
M G]0M"_.:)D\.7M"^Q1$=^@@NG=^VL!W*8PN7?RFB]\4$I$X(W%&XHS$&4=
M%&D3$F<DHGA.FY#"Z!XYC*XK^+I5"75<2[0=%T!-3MJ'<-(^@L_AT.N]/2$\
M(M8]@,<SKRI52>6(=YX342E/="4\\<9J$4I9YL+L(W;M;SU+O^DX^B\+K+S_
M<XBU<MN?5PP= 6#-(]HQ_<U.T2_Z0AD]4_F!K[Z>-7<DF$R$\ Q@T@F56YES
M #H-,$DK273)' FL9$8H[YW::D-\EZ"OQX-)<>CHWV?-'0DF$R$\ YBTVI;:
M2TI*+2O0#"EHDY([A#SC<N:K(+9B8^\2+?5X,%GE98+)!),))A-,WB.%P!=6
M"9.30NH(DX:87);$6U 2\RK7G&[!Y%W"C!X/)G-!$TP>)*0H.9GO[63^!;MD
M[6B&==7@ ]AB;\W?G,3=PP<"/T)9PR,4B%_?D^<C,HM2FIQKHGS01#CFB*8Y
M(X%YI8-VS._(NMN7G[IOXK8E-]\X[%.*O5'O+#QCTRSR+S]KD(9BQ_&'#-U]
ME%J81\AI"903*"=0_E90!D0-NO*"6 8H*VP1B,HQ74*IJBI588LR/YA7/('R
MJ7-: N4$R@F4OQ64&64A*",(*,P L$$K %@FB9:%DEI7W&Y7(]J;#SZ!\JES
M6@+E!,H)E+\5E%5%\Z!\2;@0FHC"4:*H+D%G+IGP7#&IW<$\_@F4GPRGI0#T
M1[X;Z'DEA: ?M7P]FCHA1R5AC[D\R$-<$;B"LTI:8@JOP(@!0:ML)4@A@PT^
MN"#M(4/9;Y*R3RN8_6@K>R2S)\'R4R&6!,OCFDK6 \(R0PHE#1&5KXA2N2 ^
ME%0J4>5:;E?'WE_H_(/ \L&#YQ,L)UA.L)Q@>7^P7"H>1#"@ZMH<M&4C$9:U
M FV9*Y?;DLE\+X5-'Q.6#QZLGV YP7*"Y03+^X-EHRPO<BD( V0%B&4ED2H/
MQ$N>@Z:LI%"'3 UX$%@^>'+ R<-RJDIZ\-;>?3^W[,K/.J=_*DZ:RFFE<EJI
MT%SBC,09B3,29R3.>/Q-2)R1B.+9;$**#3N&XJ3)4WJBQ4^.I>73<2#92;1S
MXI7GQO.*R)QJ(JQD1+H\)T)4DDOCN%9\'Q%A?]*S:3W]T/[B9]%SNEU/Y;?W
M[YK)1'=?+SVG=.PYY;?M[T3/^>F5ZDMM^A(>)SP^<3R63DO+<XE9B8&(0AFB
M!2 S#;F44O&B,M4^0L$>'(]9PN.$QPF/$QX_+3PVMA(T!$I<459$T%P15:F2
ME,&74E><EMMU".\2 _;0>"Q.KT9KPN.$QPF/3QV/)54V*$>4IEBZ@U9$.>VQ
MR%T50O#4N:T,MKL$?STX'JN$QX=M-)V\^_O*_$[R,LG+)"^?AKST5)14\$"T
MX)8(YP $ Z.$FB!$7I0%U]O^I#WX]WNH2![^9,$D1$Z(G!!Y5'Q0<9KG@<@
ML"RJ@A(=<D><H]Y87P09["$\_ ^ R,G'GQ Y(7)"Y">&R*504K)2@7I<""*$
M8\1XT'R9XTI;JHIJNRK2/GS\AT?DY.5/B)P0.2'R4T-D[:R3,!;A"D-A"N<
M6+4BE61YP6RHK-[JFK /+_\#('+R\W^3GQ_^UF;B_SCLVE\6EWY66_BWJS_>
M:JTE_'./J[V9HU9OOP\"P[)N6-/VJ$OVZ7=EJ*1L7:65Y\3*X+'GB"?:@\&I
MI/<6^* 2BNU#GWEO+[Q;3/S/X<UT7@_=XMY[NYC5\]JW?_IL)POGW0^SYO)M
M<WFUF&LD^)_#)MO]"O/X?M+8WU]D'OCK"J]@9@M_.UK>\_G>%C_O<MJ_#-WS
M)M>KYGKM<K^R[^KILHCN'+8C\_]<U!\!;Z;SOJKNRVS:S+-ZVFTL_)'-+WP&
M*& 7D[BYV*3/]05ZIUL)^IGQ5B]:G\V;S#59VV2?FL7$P<>9AHF1Y:3P6=T"
MF$TFS:==0N"0V]1MQ/RB6;1ZZMJ7:V4%'AK=#LSO \Q%E-MU=:@7\V:HUH&S
M +[!2>/C9**OFT5?8?QU]SI&Z3G]P_ #BY+KJO6O6G^E9WKNA]5'U:$;^\6N
M*]6/=5N;>E+/KU\-8]QP5]J]5N3G!55_>/WB/[[P$#MGY=<>^=KW]%R5_+Z#
MI'D<P3SNEZMW^P(MV_Q]^Y3)TS;JGM6:E[G"Y5=RA1^]3<GN'3IL+9]?+V;>
M9Z!XS"_:S$]1M_B_BZG/<GIV=THZ@D84B<,2AQT'A[VO/R?^>OP<_Z0W)%0[
M3(V19XEJG'*1 "RQ4F*E?;!2GE@IL5)BI225$BLE5CH:5DI2Z4%+CW]#GMI=
MTM(>)2C@GMO]/EZ&-E=XP=F>93/?SF>UQ2O.[II43QW><<;0BZGUW:<IWNM$
MX[T.O=XG$>;U $%8G"K&I*)$5DP0D3-.9+"66,5\L-Y3KLO-,!)*N17>%T1I
MA[_1BBA*+:%2,NX*ZHW9"B.Y9_#(FTM T;NWY]Z*T>)GN:Q.+DCK>)@FH6<B
MA&> GE8S+:H\)R9G 9-H*Z*DR3'AR^:6><FW"[GEP<LJ*$D\QX9SWE;$%'E!
MC%=,*.8JP>71H^?!&WT^:Z9)Z)D(X1F@9\5+Q@ FB6<*,#.4H$?JLB0^,- Z
M@W0%VPIAMDX55E,&CRL'.*LU=E$& -8F^+PLN<G-\:.G2.B9T#.A9T+/>Z"G
MJW)/<^H)%Q;[R=.<2*$IX84&M9/:2BJQB9ZBT(XR5A)E%.B>%F!7B\!)Z<N<
M.VKAT_+HT3,O3R^]ZCCBII)7>FN[WWXQ4R<)L7N >G]O%)>PXY[MUNSZC+I)
M?\.6I6;3WY")7&D0I8812R5V13&2F!+3D8LJ=X$';>U>^J,<GRB]HQ/\)CI<
MWO?NAWE/H45U$@5)%"11\&1$ :_ AI)@4!E3%40P+K U"R.YU<&*(NA*;!6E
MN$OAMJ,3!7?UZ"=1D$1!$@5)%)R>*"@M+70>) &UWA#!C2*Z!%AG94&YT5X4
MK-A'A97C$P5WO)Y(HB")@B0*DB@X/5$ D.Y-Q7+B.15$:"V(D@58!49;[FQ1
M<J[W4:KNZ$3!7>]:DBBXTY7-5PKA[?P4?GKT];*V7G?;G<+%[:%87E'97&G%
MB:JJB@CI+5&YR8D"!@V4JTI;N0]5[JUN+_#__VEY4=2^F;KW%\UL_JN?7?XX
M_>C;^25^?*]J>(P_3CF\K>RBNU1'^TLS]YDXSW"?8E)'_&.T8WLNE&@YPS!,
M2@H :L#ALB**@5;/@\ESK:AD-NRW4.(W4 %R^W,IC/CKA>]K#8+,RB+0M5E[
MT7R*Y0U1L.GI]?_^7Y*SZG6;V8$\XA^KF]<V,]>Q$&L=0%A,L4[BL)WPZ-Q_
M:&;7V4,7,TRE#)]8*<.B.&?%U^K=\?/\OA7SY#GCXIZ#/,HT'JH SZT*[CQ2
M(,DCIV(_$V-_CZG91[%CATW5'@J*98<O?W 4NYEX,/'@L?'@.V_]I?&S+&>1
M#P]<.^$H=O3YU%*XK)V;^*<?N IF4[I].-$<B]0-YX$O 'Q!G2ID18)2D@@M
M*)%4<E*&/"_@_X2D6\D6A=;PJ5/$>T6)8$(0Q70@><[RRG.K@PZ['(B;C6GN
MZ+R79SD[O<Y@Z0(V06""P,> 0%6RX'-?D&!S1D0I%)&%S(GR/+"2*^GSK3M0
M7U6,ELX2(6A)A)66*,T5_(:%,E =G+4'A,#JK)"GUZ[V.'+%]NSB.Q&M^\_^
MHY]D[%7R..S+XW <^'H\;JBT"8DS$E$\ITUX,.]87&4]=3"I5Q4,>D=OV?@V
M&(<9#TLWKZ*?A%3_J9GZZPQF\+N?9P$V.25^GZI9>3S^A=.V)GG%M2RM(Z75
M%1$*4ZYS;DEA"J5I[@,56\D53GE923 ?\YS";T)!B62Z)"7CM))&6:_R7=;D
M. YK_E;/9M?U],/_Z,G"[\G.9)0F*S,A8D+$A(CW2#=3VG!32%*:B&Z<$H-%
MEFGE@M34^E"Z341D5$E S)S0TA@B1"6)=#20O#" A84/PFSE&#P((N8)$9]&
MC:83\;O]VLSU)(F@E&SW*-=%*>ON,#=.NE*.,4U CI5$&%\1;6Q.G'2*5;G$
MQ+O[7+KK>O8ABL,W4_=EJ?CFHZXG&,(.3R[__J&9O8>GWWDS7^7JO;ELX%S_
MY=W;IIU_K]NZW=MUOKCC=7[*Q4O&2I(425*<L*0PG&G*0T5L7AG,M19$:B6(
MK?)<*LN,IO>*37A2DJ(ZDW>,>DB2XA!9V\>3MK3GY&SD1=_5)N@R=>U$MT"A
M5_J#)]/&^>''+]83>2?^,W'US$?"Q'R]Q>7TM:O;JXF^?H7?OK[2S@%'C>+B
MZVY>O8W<??"/13NOP_7PEOA3XJ<.J.\SKA53#Y>$^/FX,Q'N=S1L/16H*Q:P
M+!FP/*/1WQWI_N?%TOL0#ZUS*>@ "WFE)Y_T=8LY@>/#&TZFQXA=Q_(HN]\S
MPD"C5SO7?RJI]=T#^()7]1S>;6\DC+^NNBAN)@2<5G+YFS9K0K:6'1>SQ[=R
M=<[&V>;9A78/GBS^;[M>^-71]E_T.-<\%%02X4JTE%T@&I0E[ 4@;&&,4U3M
M(Z1]18(;FM.VNK-2<NA7=)S=2\J-S95@.>A]J ;27&$)9T\*J:6CM#*6;RWI
M+B&J!UF2*L[H3J_Y#8K<0Y%K5D^[&@RPS<Y?-6T]S^9-UJ(BZS,+ZI^&)R9>
MM_"OYO*R[DI;O'ZN?,6ITV7P'BP0HX!'"D:,H(Y8;4,EJ/%%>2^OU6XBW#9,
M]L]>P90\2*X)+8L*^(4+8O*J($9Q558A5T9NE4F_/WOM=V6"'BF7@?2"$>U%
M5L>B*+,Y 27L$IEOJN?(:2C-0&=&C<KAQ_#.*PW6F?]\Y:<MR&5\H 'A-LN
M,V=8#P6T<3_OOGBFS,B0QCAS1'"LTL\,,)8H@1IS(.' A:%JJ_C/79CQE^XP
M_M2=!9#LSW@0;^+^_Z69]@=R (D7?&"J%$2& E;%O 5NM()4JO(B*%WPRNR#
M)0^_ON)8Q=^8,4=-R6$QV64#?#F_@(G,/_G)1P\?3.<7[1:K=ES9<V,L%;2C
MWE$SC=X6C8,;/>EZG%]X/S]?L^UN*@&WATI9E3+,<="7>,Z \(O<$6T\)56
M4^+ -J7=(J:[5,K" EC3>3.[?E>W=M*T@&[/O!Q:<9XM-V7/Y<^H,\Y6WA#I
M$,VLA$,-FA.6<T5E8:I2;K6H_99#C:[15>VSY3)0; -)PQY[-WQ8^_9MAQ3/
MJO#9:/F9GD4M^6I6M\#G@"WSM:IHJ9#8$RLD)M1Y_K7*6N4YE_>MX*7..;_O
M&.?ROJ7(8!KYMTWCH9(,MXGY]CDDIWU=^ZS6O,="1D=]77#TQ<-.E+Z>(DTE
MKGM6Y<).C\:.JCS8*32U_:O^E%V"4HP/I53&4TW<215R'CI>F;$R#R(GS/."
MB,H%(GF9D[RH;!44HX%M]0ZTE2F802\+S4LB5!F(P=(Z5!=,EX&+'"/7;O"?
M 1__-+ Q5IA?7%U-:K^O.#)QQ^:PQ\P3*5 X@6,"Q\< 1ZTJ)YV1I+2E!*!S
M)5%<4L*UTSHHYWB^=;E@&&>R$@71A8#?Y(4A4A:2!,ET)8-U!=M*;WP@<"S+
M5%CL220XGH*^_D,]K=L+[[(/39-JCYRL3#H>Y>2T19'T7AA1,E(:BSJWQ\Y\
MSA,/$BHH7TGJMXKYWDM/'_CWOY%]]R2 ^%E9)/T\86'"PH2%]\%"6M* 09RE
M+"LB*D&)LH:3PI52NR"H-G2O:ODAL)"=58(G+'QL]_FXT!\3MRP@N*F?CT-
MXB!/OWQ@+$ZR.\!K#U#U")294LV?@!,JI9H?IA6X-\Q45A&>!T:$I8IHFN>$
MRL(6UC$%DG"OQL-?_(ZXZKL5Y3IC0J3$\.-2.$^]MV6"\ 3A1P;A@59Y47I!
MA):8%,31DJ&!2/@ORZN0EV$K*>A>-L_^()R?@0A)$/X(M3V.!Z#W$GY_8BD6
MRU23V Z^3[8XZQ.W,.>BGL8:$#$=:Q[ML;4'4UK&R:5EB/*K:1ET#_D0]Q[B
MO+IW8H<ZS[\MP21E93RV[_U9K3G%AZ>LC$?CJ2.EJ<1U*2OC2=-8RLI(61E'
M1([?=JM[%/3R"%''N.YGX^=C4E6Y5I;D3C(B) W$F((27U2!"L>+P+;CO+3C
M@=&22*5R^ V6UI'P&U-4);.N* 6[N9[)@?,Q"G6@&(='XH9TY9+@+\'?X3(N
MK->4&DJ"R0T1 4!-R:(B6@E;N$H&K;>N.3SWGKE2$>9"080SGFA7>$!#QUP1
MJ#5,/A+\%85,\)?2+5*ZQ>EIXH_N@#@V[>3K&_)LI%A9Y,Z84!$L9 =23%JB
M16E(5?H\+P67U&TG5=]'B3],@')!#RF]CL #=6PLE!3\A*H)56]"5:%*)WQ9
M J!B-C;58!9P3HF37I1>65ZX_=H&AT#50B5,/7[W?<H*^5)6R"IP*>6''#"#
M\3E&#Z?PX#M:'(YKS[@@6H*($\99HKC(B;2N"MPR65B_5XMC?^'![$R5!TX*
M/_GHWV1L)(Q-&'OH4GE2 U(5.?%*.R(\$\3H0I+<&Q\TU=9PME?[8Y\8RXJ[
M->).&'N'[JDW-CPY'L#=5^#]?\8%[VKBP?+ @\DKXKVHB"@$Q<XLG%CC?,E\
M7DJYQ2YWZ<SRRZRY HJ\_F6BI_,W4X=-MZZPG1O\_>-TKJ<?:FQM'!O9//.6
M+>5Y-NQ6[/>SW*K33;)YYV$,6^N(X[AFW;6P[CYH0G8UWA _; @V3@*(LXM)
M[&W4=/V/VOE,XUF023WUV:6?7S38]Z@=/8%=T/QLR,;Q[;R^C",L6A\6DVQ2
M!Y\UL_AE[)76/]BU(L3^3#!OC>^_A(E]]+$M89S:_&+F/38QA >R:Z]G;7Q<
M3R9]JZ;="SG?V47MJ]OY8C=/Y[EU ..28!M.X,_<@H4!_PQ!@ "L?"AY<5">
MOHF!XSOKZ<*[-_/;3O3O[ 'I\)?=9(8=M.IV_K7LK8=N(+;*%MN49"N<^/8^
M3_T9Z7$ON-N>T^E)SD[1>MHI:^57T[SN^WUYSNZ;:G;O5+7B7*94M:<5P_&L
MUIR29E*JVJ/QU)'25.*ZE*KVI&GL'G?=+D7([MCNG_1T$;2=+V9H7T63&LUS
M^-OO<H.DL-D3JLQ[+/<IS^:NA!6!*^5R$KS(B? 6+/PR#_!/;?)*")97>M-1
M%)@,H6""*%,Q(BJ3$RT+3HRS5'&L88@.XULZBOY[UK1[B]DZ*V@J6Y[ ,8%C
M L>]!.L$5A55H4DA,3W ,$\TTYQ82SGWM++&;Y=CS8M"8J7S@E45$3G-B>(P
M1"68*RM>,%/>WHN^7W#,J]16*.6Y/9 6_V>\*+L 6W3MABS)IA.53<>CI)RV
M2.*5-,+GDCCF)1&NM 1@B8'23BT/LLR+?*NE1B6"]*6OB#44Q!AHZ40[(XB7
MKI JR"*XK?*R#R*2I#A4CD5BA(2(B1">!2(6SA54"DL\4QP+\51$E:4A2E<N
M9Y(9QODF(F)'-B4=)4%6@(C:@_IFC"5%D8/Z3LN@O4F(>&2,D!SM>U;1WS:7
M5PM ABYNK6W"_).>^220DD!* ND^Z<^@B^?,E"0/()5$L)Q( 8IW;@JM0Y7+
M4&X))!90Z$A*G%:@UK-2$ID[18*CU.C*YE2YQ_$:%30)I(2("1$3(MX=$:EP
M(1@MB<FQ)PX/GDBJ<M"YF1"8K16*K0P3%BKK&.CQA<I!K:=&@%I?P#\K89@M
M2Z]Y^3@J.DM>].1%?ZAJ<8L9T.QBYL^R -0(?V _F7%F0A).23@EX70/X>1%
M699&.!+36T256Q!3#F1589W*JUQ7?*N0<\X5I<$;8DT) BT$2Q3HZX0QR7+)
MA,N%?Q3A)'B*?TF(F! Q(>*]ZB<X1ID41'A=XG\",540Q%+&* ]4YF6YB8BJ
M*JUF%2-&8A=B#7]I)3QA)F<5U<XK3A,B'ADC)(_ZGM7U__$7M9WX%.:21% 2
M0?<10;D4E&KE" ^%)Z*H!%&:&D*%T8I*DQNSY4.'[TH1(R]+D%@B9QQ^4UK"
MM?06]'+JJO!(/O0D@1(@)D!,@'AW0*PHUR$O&:E %0=P,Q61 MNO4*J\$A6S
MVX#H2VXKA1D]VE7HV0A$>ZSS9(0+D@:K^>-X*1(@)@_ZPP6Y3-OY;-'STA2K
M+UG?)@W]$:IV/O,N ;?>DV<CU)@T06&D3$55 0(*HS8]<\1Q47BO*R>-VDH^
MM84(I6*$4PN601DHD94H";?4"%-5H1"/$[J9'SA0Y@BJ*SQU;DK0G* Y0?.M
MH-DX)52!A0"<Y!@A#_:&#(Q(R[2D>558OI5G1,&F4,)RO ME!*P30[0H).&J
MK#07IF2V>)P[@ /;&R<.S>F:8,\VR>X:HV?9!Z3Y9)DD5UERE=WG[L H;QT/
MQ(%A0(05@#]EY8B6K"Q4J:QS6P$]A0:I)IPBWBM*!!."**8#R7.65YY;'?3C
MW!U49X*E"^R$B0D3$R;>)R?)5<Y(YXFA50&8Z LB->6$L]**X)U0^58E&U]5
MC);.$B%H";^1EBC-%;IH0AFH#L[:1\+$HDB8F&X0'DA;_[-OVTQ;N[CLFTRX
M4:N*))F2LRHYJ[XDW?;*B]_=V"3EP#<52ECE"D5LA64RG>)$"Y\36Y32*C K
M!+7[L"G>K&!FW! '_IYX_ -$ZIM17YP;Q>W>:L8Q]: M'X_&=W;76HLODT!(
M B$)A-,7"%5%:64,,<X9,(ZH@+^X((SIREE76.>V!,)=#*JC$PCTT 4AGHM
M>+!;E;BPOIM];&]_%\.MWZW8\BH.,AZ5;C;<>A)VW4VW,%.?DJI33^?'+[.=
M>CJ/XQ&H8[:4.2D#P[ O,,",EY($Y9116LF";SDP]WJIL[\>S_R,\P>5H2?8
MXSD!<0+B!,2/DHB"8;K42$*%++!;N"22E3;6EE;>5M17_J W2?L$XH.WBSEY
M(!Y;,? WMKW]8]S2<0]A^"1VGS_ACN7^\Y6?MC[[I-N=C;P/.9%_N]$'\J71
M]E_ES56YY SU*V!P@4U/E#.!<&]R[RHL]K:5HA9<;IATL=HEMI^J#)$5+0AE
MVL(GQI3E5LCH>-]O1()R#0F*KR !/;^YIMM#G6(&STQP-]$<?:8D)(P&]=Z7
M!.0(5AZQH+%++HG10 P@)THJMTDH=R!60+>7%)OTY,82+4I.O'%.L$)HEF\U
MW#D("?'C(2&8:6Q3/[^8>9]=P@,7;>:GSKMLK<MNI+5QT\^'FNE9-O/ME8=M
M^N@GU^=KTF6SDSV*#I PCR ]]KOF7;WE_Q,6=VMV6W)-OS?+6@DE&,<Y%L"O
M$$-!SS*J"$334$I9,E'9:JLE2)$7+E>"< 8(+8(Q1$M0Y12WHJAXQ:3?8IK_
M;AKW"0@,E+$?IW,]_5"#L'_3MG[>OJM;.VG:Q<S_"N_X?M+8WU]D'OCH"OV/
MLX6_G8;#^.-(_ZW.N7<YWK\T<Y]5Y]EJ;[)N<R*3#9LWIO3C58>^:4.Z!_ %
MK^HYO-O>N$4_ R;-MC=HO"=[X ?CI5..:L)S 4*$&T^4L9SDI5?<E+:LJJVL
MPKOPPWM[X=UBXG\.;RP8)S/O?JA!DO@_ Z9M<<CWUS_I?S2SMQ/=MO?BD2>D
M(/\*$B@TDTGS"9OWUL (6;NXA E>9TV(\@D[$.CI]?_^7Z W5J\QRJK;R*Q!
M2GEP\5FO*%-WK/N=@_GK68N9X_.+9M$"+[<O7WTC%^_5<CN\4.J,733E=MW^
MZ,6\&>Q:G 6<+4X:'R<3?=TLYO"*S]Z][E['*#VG?QA^8'$[KUK_JO57>J;G
M?EA]=&=T8[_8=2OVL6YK4T_J^?6K88R;PA+C:[DZK_[P^L5_?.F1KWS/JO/\
MJ\_<]WMQ7I6'?L?7Y\ .OLZO?9^??]L0]XMRW<5"WW*E>AQ1K@_F2'XNRP4J
MP6__ZP4#*W/WVI]6VOF=];U;[>B:*7D'.OJ&@(^CV,V#$N!# =KV3M[^I$YO
MU].:CS*Z\C'0[&_Q5V![:-@4_0%,@%%<778%!F;CLN_ #KCV8!#<*L[W: /<
M'HOJE@+V_O+U!"DPYLAE5L]FUV@P _TM;M??(]%90O3$6U_<P%$<]1JP)_9*
M[)78Z][L]1<_3X+KT:HLV92WO6.[?]*SWX$L9[Y#_95S?V\EED[6$?9$(VMO
M?47(1,&L4)84N<7"HZP@DDI*>.D$M]B\=[M$D/,86^(]T;R01 @1,/>K)"Y(
MP[D.E"F^>45X\X7@;ZT/B\F?Z^#7XDI(Z^TKMYBAC?GMO''3B1?+P]Z,K3@]
M&CB^Z.I'Q]''BYQ^-E'15%LC1!Z(-+HBPA2:&&D9R:VDR@LJN<L/"RCM/BOL
ML#-YZ!25)QSSG.#QB1-"@L<'AL?@:%ZYW)&2VD"$HP;;JY;$<^U"+EFP8BMI
M9,_P.'( C1/F]P:8.14),!-@)L!,@+F/=.>\-*$J"I)7WA#!2T9,,#DII14!
M_@(SU1P8,/>79U>P,D%CJM;X,%Z_MXL67NIGG=\/2*V]J*^2Q^]$I?.M/7[4
M%RK0W))<8B\\&THB@Q&D,#P72CD9JJWZ$960G)=!$>LPLXQ1#B#,'?%!Y-85
MF@$/'JG'KTH>O^>EH1T/&)RV8E9)Z@KA 3A404')PBH&50$JFO>*:RE\7FQ9
MLOO%D?TZ^O(S6%'2SA(L)EA,L'AW6"S+RE.7>V)IH8D(*A"IF24J&*:YJ%@I
MPH%A\< ./GK&#MWA\5GS1P+*1 C/ 2A%Y3S (9%."M :#2>R4IQ4A2]-L$IH
MNW51O&>@W)]C+S\K#UT-^ FS0@KHV[-K[YW_Z"?-E7?9W-N+*0S]H4[!?*<J
MEF_MVJLL%Z6B@52N4D08GA-= D;:4K!2.5-RNM6J-GA%2V,4*2HL#6N-!%75
M%L041:E8S@W=KDAX)*X]QI)O+^EF23?;OVZFJN #!=V,:C1BJ03=S$M-BJ =
MI:)2BF]7G]LKD.S5MR?.\N3:.TG1F%#QJ CAM%'12BMYJ33Q!A&N\(K(8 4&
M.;.<Y=0[P0Z,BH>.W:M4D7 RX63"R823]] ><^\D+37)/2^(X$R"&5IXPICB
M><B9LG;K9GC/.+G7TO@R86(*VGNHH+WFHY_JZ;S-YDT&% =?75[YN4^^O=,4
MS+?V[7DEO=" C=PI"R8YE<0$*H@O/0],4RW45BU?L-N9H!Y0E(:2"*DKHEU5
M$@6HZE2A1,#ZOT?IV^/)M?>(RMFC5^XX0O7MJ325?8@D-K"$-9<E*4L?B&#!
M$T"30)PPG.:Y9V78<@_N%XOV&_K'#JS@'4$9ER-DJ(2]"7L3]GXK]O)<EF41
M-( M#=A!KL)V/V MZ](7E5.&\ZUVVWO&W@,[(1,:)S1.:'S$I)+0>'4E1)WD
M/ ^$JP!6>2@=D3DWI-!,5]94E2FVLI/WC,9W=G7&WB3D7W[6()W I/CK!+Q/
M(<HQKJ>>.IC4*R9@U+LX_OI-BHULXB#C4>EF&YTGX3O]M9GKR7;KHK-LZF]5
M@S/Y3Y/&D#;F@52IU%L]]5;_0M47%VP W8F4.55$Y($2[5&Y*LK2*B\U,VY3
MKRJTEE0X1;S'*V0F!%%,8Q-FEE>>6QWT8R47<WI&#QU9<_(-UA,:)S1.:/PH
M-5VYR*4.!C#8>"**X(DVA2"6\XH6JBQ4M17XN&<T/K#/,3_+Q8&K%B9\3OB<
M\#GA\P'PN<A-P;3%OO<4L-8!4F,=+Y*S(B]L40BU78IGS_B\OX#+\JPJ6(+B
MO;DBX6_L2'U,/JO=[;FW7G?KI0.M^,]VLG"P2E=_S"SVEO^O%U?Z@R?3QOGA
MQR^ZKX=MF/C/Q-4S'RD,FVDO+J>O7=U>3?3U*_SV]95VKIY^&+FLZVY>O4^W
M^^ ?BW9>A^OA+?&GQ$\=T-EG7"OV!5^2W.?'$7#WZQ9_VZ-AQ1I%PF8O_SL^
MH]'?2XJ]6/K+X[%U3G =8"FO].23OFZQY_7X^(:SB9NU^V >9?][5ABH]&KG
M#AP[+WXC^ Q0$Y%FUPU#;&??GP'. H\$)HV/$^"V9M%?1[WN.YQ3>D[_,/Q@
M:'/_JO57>@8FP+#Z*&^[L5_LNGGY6+>UJ2?U_/K5,,9-X>7QM?F]F[=7A^]0
MGXO'[E#_Z!/(S\ORF\9XJ);2MVHA?>I72,]EN<L^B.S^C1"/P@@^;&/$=][Z
M2^-G6<[.,DYY?MBVB$>QHT?8)O';06U[)Y]]"]2TYF,+DWL,1/M;_!6V489-
M :-EK9UR=N5G=>.R[^IIAJE1[<O4!C8U&]XS!<8[ZM1N."%ZXJV]\];HQG$-
MV!-[)?9*['5O]OJ+GR?!]40"SH\X,'JO >0_Z=GO0):Q7Q:@_BJ2/)76/=&X
MC^T]N*'\!N72Y(4UA ?FB%"Y)\H'3JQUUDGKC.9;I76%I-H5O"*Y4)P(SW(B
M2Q5(415Y[BH=&#W6KEFK>[Q4?N-9U$8[EKB>9Q.S(\K"TZHH"0O.$U%Z1113
M);$FY&51*)-OQU3N%U#V6T/C3/)48C?!8X+'!(_[@$?IO!)*:L)R9H@P)A!9
MB K^4Y3.4<>]V2HQM&=X/'2M79:GNI(),!-@)L#<!V!JXV41=$D*5H&!*DI-
MM#8EX:4WLI05-WPK8W+/@+G'&/!4<C>5W'THK]_;10LO];/.[P>DUE[45\GC
M=Z+2^=8>/\X,XT7N"=52$J%  U6B8,3GU-C"&"?D5FD?S4UNF+*$\Y(14?F*
MJ(ISPH5F3&MA?54<J<>O2AZ_YZ6A'0\8G+9BE@=OC%6"5-RB)>LD,2R4I%32
ML,K3 OYU6!S9KZ,O/ZM2,ZV3%(T)%H^*$$X;%@UCTO%0$%T@Q%EE0+T*!@S0
M((4KN6/EUOW'GF'QL X^>:94GG RX63"R823]U ?E2]#+BU16F,S+:&)5J!-
M4J'S/%3:!B\.C)/[\^L)T!VKA(DIGN]A/'OO_$<_::Z\R^;>7DQAZ ]UBN4[
M5;%\:\^>+K15UCHBO =(+0I%E+>:5((9*TI6*I]O0FJI:/"J"%@DAQ-15@#(
M$G36TFEG5!6*PO$C]>PQEEQ[23=+NMG^=;-**\VP0&V06*6VY 61RE)2%KH4
M4O"R%%M!P?L%DKVZ]L19GCQ[)RD:$RH>%2&<-BH&+0.H4PJ-U8H(+1B1O.3$
MY+DK2U4Q6A8'1L5#A^Z53":<3#B9<#+AY#VTQXHI)UQ!F$"<I!(#3"I-7.5U
M[A6GRA]:>]R?9X^?525/F)AB]AXH9J_YZ*=Z.F^S>9,!Q<%7EU=^[I-O[S0%
M\ZU]>\H4/,]#20K#<B)RIHFVW!-6V0([R%0JWRJ%G0OF@\D]"9XR(DS%B125
M)WE>VDIR43KY#0WY'M2WQY-K[Q&5LT<OW'&$ZEMJ#KI*R2ARFA=2DB)WC@@K
M-%&%*PE3A@N?,U>*K:O;_6+1?B/_4F/F9RM_$_8^!5))V+L*+RRY5$*5Q)DJ
M$*&$(<I030*7O#0YU5P?6 \\M!,RH7%"XX3&1TPJ"8U7#:J*(JB<41)$88D(
M)2<*=CRV<RV-RX6NR@.C\9U=G;$O"?F7GS5()Y(S_CH![U.(<HSKZ1O:QP[W
M=W'\]9L4F]C$0<:CTLT6.D_"=_IK,]>347'#3$<&.<NF_E8E.)/_-&D,:6,>
M2)5*C3]3X\^;]2J?T]Q0;XGGAA.1>TV,JS2IG'9%<'E.*[6I5_D*(W <J&&"
MED38F%K",02:A3)0'9RUC^1AY/2,J@<U:T^P]V="XX3&"8T?IV9AP9C7C!04
M4_64DQB<PXBD *M:*EN8K;R2/:/QH7V.9[),O9D3/B=\3OC\]/ YKQC+*Z6(
M=X4'K*TJHB6G1(<@0&%F9>X.K2WO+^!2GO%<)"C>FRL2_L9NU#LBJ6+W[N/Q
M9.VE8?=MUE-^K0G\87R8=UG?6-?)_.<K/VU]]DFWV;#DAYK(O^UZX5='VSO2
M*2LK+QTC(3>2B%*"$NH!\\I*YH'Z8 J_50PVN-PP"3JKS%U.A*\,D14M"&7:
MPB?&E.56T8CQOO\<-L'N1J0KUY"N^ K2W7#!;WA9%#(GWF/_A% )8AC5Q.F2
M"U<&Z>SV$G,',"X$:.3&$9$;2[0H.?'&.<$*H5DN'F6)]'Q758P;L/VA:#F#
M9R:CAG</]E[8JLQK>Y$U(9M?>/C_,^^S2WC@HLW\U'F7_=_%U&<YC8VD1::G
M+G:4/A\C',#VK1GPAF!B:IV64@"5T-P0X2H'+(%Y%R((I6U9N&JK=%]5Y(7+
ME2"<F0!T:0PH&0(L06Y%4?&*2;]%8^_MA7>+B6_"%U2''Q;SQ<R/R?%/'=#]
MBG+K5YC!]Y/&_OXB\T""5WC_-5OXVPGG)X3T?VKGP#*Q)^-TNM"3]9Z[0#!;
M]UJ1G)",IC#K+,#6=OUX(]7 YS.O RB]6=UF[47S"?!E&A\/S63RT*3??,)N
M>%$1B8V#YQ?-HH5YMB]??:/P_O_9>]/F-I(D3?C[_HHTO5OO5IDIT'$?TLR8
MJ:ZV6ILZK*2>L?VT%J>(*1!@(P%)G%^_'I$ "#))D01Q$8RR;@D"\HQP?_P(
MC\>?DS.R],"Z][YEX=7.9Y.E-YJ? @8I/W0^'(WLY62^6*5_V]V.8#S WRQ/
M@/D:V8LVOFGCA9V"Z"S?OH0AW;5?W;8@_6G8#MUP-)Q=OEE>XZY=-^6VD@\H
M_>;MJ[]]Y1@V(/<<<=_O# ^D?M0U]M4G_D%]X4]]8?BEO.[]S4W/AR&,XN.J
MH Z7V=IML],KJY6*%7]J0^'[QW85GA_%Z.Y4'I]04!2VOKER,3,'3SD^<<2+
M6_WM-)Y;<$C!)6F'7Q8.^'?;RE >;J2.+XM]<'$Y7(;ZQ62?%?%!4A(1#@1"
M2.TBLKF>56FFI$PQ,F-O!I/"6HUY,"A&@Q$GG.>-_PDQ1IB*U-MD']71K!\\
M_EE4'*S([Q![YMS%_\G[4[?%D\+UCE/4)Y)\/C@GP.F8+5'MTQ;MT^$&X5#+
M[8LW?C%FB1'#H_84&99-# X1:6\"4BQZ8FFTQ.K]FZ7?X&8?/L?1I_AK\3JW
MQE)CQ*Z8NYZ_JM1 :B<625:+5"U2M4@/I\U@0F(I);*")<2CD<@DH1$55N>-
MVTFE7N.]W5ND'!=]^#S9DB$28E=M$)Z_?M3 :"=F2%4S5,U0-4,/9Q!QGG,L
M'++.YFI1;)"A8(:4,S(FQK@7/0:1/9FA7 ^S)4,$MK8:HAH/[6_S^:K@IIJC
M[9NC2L/RQ *$TS9I)K>/(U0CZ84$\T0C,L9I1*SP7#'!L>WUW-R/2?MY,M_>
MJA,S.[9IE:&ELE4_FG&E4JO4K7]UZ]^AB#)P3L2+B"P- G%N!-*$4H0)HY(*
M$Z57.[9\V]OZ)U\K47=AUZU_=>M?WOKG9[UM(,L=@+-)XV(SC1?P6PQY8\>B
M_/8"YG<26E#X^2@T89A2G#9I.CG/.S_@Q+BHUVT;"_^#*[3ST2SO+K'^G_-A
M.\QW:5_#B9_RD?F2\*^\GZ1L.6F&YQ=V.#V'!\Q?GT_&'YM)WFG2)-#5R;0=
M''8Z[AWK[;<$2T93R0QB@D#@D:)%5F"#M- Z4$[@SUZ1P2;[$7]9#7Q_J]Y/
M7_QH'H;CCW^?3,+GX6BT$1J7-@Z R-FK;>/X3BH0093"&)QC[WE^88F,C %)
MIZBB6@6->_9FD]V)!WCAWR9'N%7Q2N.:T03>OFT^QVE6?9\-&>CE1SL<M[.R
ML:M3Q:M]8FT3YM-<Y+R^YW#?;[#9'L?3@O(?NVGH-M_-I[.SYI]S.\U[\V!2
M\KN700!YG,!?UW_BK\MI/TQ #L:7(,WP$]PF=_X^L[-NFU\G$N-),P,O]&/L
MIOQ3!NEF,FW\<.KGYRT(A8^EJ]!P', OFL75%1IOI]/+?-8G.YK'I:2DXO*A
M4?;Y%OB? ^.+YMQ>PMUFG0GR$W"TLI<Q:+ZW+1PYZ789YA/:M@@N&*6L=S&\
MAB?-V)#5=_D&, -K,N[/8-:*?;MV]_[>Q[P'/C_#-(+=FI8'S,_]8_3QW,'H
M,?+Z:F3[ I>?<%[ZV33Y#FW3[0AH[,7%='(!DSF+CY5'0@\CD+V-.U^3T.Z
M?(,W0PC=A_Y.F5UBZTNSZ"J"35+,H]S/,W-=@8&C&B-?VGOJQ*WN<:EL8M&7
MXWMEZ/Y]4[[!!YKN@#'C'DOD-,WM2YE AC&*9!0D6.%9%+WRDTU,]R[?[-G;
MZ(^+P5F:YFJ2G[E)_E\0;,VGTSSY^8P<H?D<DWG;GC5I-/F\"*#R*>?63R<H
M7W-R/O3E:S#&\W8VO<QZ%[KPJSFSGV(Q;BV,S#"!L1[/1I?9-HX_%B-Z-AS%
M]6<H[.WJ;0LWF/X%9MK;BX+NBZ@Q!WQY,. :P[&?QF*F6_@8^_9RT+PKI &=
M^5X.T2SG>8>SRSP"=W@6C_%3[G).5@0%CYR0[AY+O^;JEA"6#J=73HU=1,SY
MK3(8968$B*XCN !_11@<.&U<QAU<Y[;[UQ ><^4=0< ['\\&35GJ!92*K^_T
M7E9JOKF?<L+*]T.<SNQ5TF(A#GD$KLM#E\58)"G@^$X#BA,+(I)E='Y^T>E,
M/OF_YN%CR4UDURXLI6EM?F:QG;4@X4V8?!Y_MM-\[4R&T!%L=!F2]8MV]_=V
MWL8K-;@A5/E!5K/=:?1-7S5[LZ!]X"\#'-QPMKLGMUVKSPP9?7'Z7)ZB.-N=
M# V:]W,(Z.SR@.R/%\RP*U5O8DJ 0TMG'(:^+.-U.[6'8QC>?!",\RR6$;LF
M;+=F"_]'TQ3F&3^"M_K75Q?V8T3C28C+:7UUG9AF%+^@  ];3'*FF9B?C]^&
M87LQLI=O\J]O+VS(,?S:8N-P7"1FL1K7??%?@([#=+F\2SD5@<UZZR9?LNQE
MQHQ53O?+<6^QOUU5>K>_0VG(]7+[DL%=S<S9:BVS3$RW0%FJ4=[8T6=[V2YX
M,];G:#D!941N'_V##/("C9;YW8L; OC0R. .ZB.F@U',8L04!O\^8H-<U EA
M%D0 ?Q;+?A_53:B/WGF?K47[A[W,T?&[<8!OIO,8_GUH"_G*,+8_#EL/'B-@
MX)-8CIY%Y'F76&>/?L_N[U-NN)5WCHT&*]2)0[,F#\46_)Y]I2WS?2D<$C82
MA-Z5T _".$>B1XPF03BC446Z3;ZOW]-#Q/]%\7LMIWMT8[H72=OL;)Q?3(<E
M@Y96/%U[5X["TU49NIX90Y<0 W8?0Q<9$/Y$BBXB!_K>V^S^,2@9B.-D"NL+
M\P,XC_;#^'!@WO,7]<[W<X@=2W?)0W"&7<MR;"X[1U"K6G6JZM1QZ%0OGUCU
MZDB;=QYQ)?162\.7\<ZB9*VM76,JWU[EV]M&A8+GE"43 7&<S.U;N$#66(JD
M<<8FQX(AO0J%34J^2R*JG[7YH5OMW-JF)B)PI=*KX%C!L8+C%L Q*"RITQ31
MJ"T G69(>Z&15#8:BKWR?7#<I!76GL 1LQWOAWG&X%AW<V[99?^/=Q^:BVZ]
MIAJD$S5(Q^.9G+8=\N!N)\T$4MPIQ(V.R# 9D2->,Y]8=!1OPTE_#V:E?3<.
M/WWQP]PQZ<MBP?5)AJBL:*'_CM-)%@--"7U;K5!%Q(J(%1&?L+%"!L8Y]4A9
M#JZV% 0\\VB1"YKXH%2B?BM-Q'>"B'UZ,68J)-9<^GYSZ<.QGYS'9F:_U'QZ
MM4?5'CW-0T_.4$\I\@3,"H\,G/,$OCK%1 E),<>TUV=W$P]]H;R_%-W]D%5W
MRY9H5[S_504J%E9!>!%8J$7D5"2.-(^ A8;")QH)8LD&:4QB5LMM^.:[QD+"
M107#FB[?DU<>/N5MBB'GS+MMAX5H*1^09:^!YYMG7J3Y-$ZKNUY-5#513TH?
M41<T9A311"WB#!QW)[!&3!/E,%@>CWM;F![CKMOA]..;I4K_L=#HGT&A?UCH
M\Z_KZKPMW[V6OE1@K,!8@?$I#+!<2FJ80]HPEAGY*'CQ5&8"=,.%<S[B'JW/
M8WSW?0!C77"LV?6#^?%+.5[?FENM4K5*U2H]Q5TW7%NP2"@9\-DY(P*YX W"
M(EEM0]Y%U,LH/=I=7VKNM@HPJQFJ_GE%PHJ$V_7/19342XZP4P8<;J7 -4\4
M&<JHBRD%37J,V8_VS[>-A/W,^J[:NCY_!:B)]2T[Y)E -C,R^UC(GS-]XG#\
M:3*$^+-:HVJ-JC5Z2L,*DICRF=3:*C OQ*2<+5)@G#!C7M"([9.:OQ9K5!3X
MSX7^_C:9_;+0WBW9(JU9-485""L05B!\0OF?M,1I+1&5-"(.GC72C#'D4B0B
MIJ"43$]VRW<,A$37<I>:)M^35UYV/*^X[FNN_*!-05]X!^P'C\F+,6>180IV
MBR*E P$?'>R3Q20AQ4U(WIL4\/9(8=:R3%NS9+OJ;'T\K&9'J$ 5:RO65JQ]
M+-9:\/<E9A)%GS/Z@B:D*4\(<Q^M@%! J5XIXL8<,]O'6HIWO'7UQ+&VYOMW
MM+WU5FK\:O'V;_%NM$4_G,T[%OJTAPS/BS%_7G@%H07 6) ,\< ULHIZ)+65
M"FQ9Q'8KU#9]=K5WX[ KF_B:ZAVO<']5AD[!+E9$KHA<$?D@R1^5C(PN(HQ9
M!$2.&&G)%+)$6"%BBEQLA?1RGXA,7ANZUYS0"2+R>J0"GS,+TK_=WMWQ[IZ/
MI]?P:1L-U8BWA&L?4=1$(:XP XT+"0E,E:,<6\5[17V;-%3[]]BV,?Y^$:<V
MMZW]]]R[M_T07VZSP%ELS*#IQN%Y-,A]U(MW!^0;O"D=G/W=RW%+F7A6@[')
MI']8ZRM];D-L_*)]\-W]?S^?1?CYXF)4&NV^>_]#HSGMNO/.FCCJ.G3GNL+9
MI+1I_SB&YVJ*^4:3A.;MJG=O/F>4!_A:=@(L5].>3:8SE-M<=P>TS;?=@?FK
MTN1Y]CF./JT:K<,IN:_T=R?<U_E*)KN1L--I;MC<S<G%% S[=#@JK<[;83LK
MW9-3&OKXNOELIS$W'(Q=K_0(OW;_7 QM_'(Q+ W;0]>W/0Q3BF4A^C+::6[6
M/9W,/YXUM[5+? C&KQ^/VNC1\ LZ&X80QV\@X#6$$DPH8H1"P"L#0<Y&@2P/
M%DLI-;A>^QQFBJE8"=&UO_;U!*4'>I.L+ST*EY-4>E!/0(N&8SNZ4@/0P^GD
MRS"WIH;)W\T,>2RX$03)8 7,$(,98E8CQD7DC$0;K-KG#$W&L3GL# &P;3K2
MM_D[U@;G3>"(60(J8+%&.L<-)#>4C2%0TE_R$#PRKY-%BFJ"N(%)L8EQE*()
M#CN? K[5WYE,K_L['T"0?D_+'0[7PH8L"&\ $G(2O8WC/<YP&H*L%^Q93?!-
M#WJ_$UZ ,W>"SU]EZSA96$:0!)B3"+_.+YHMBX7P3F**+2*<Q$S*@9'U-H :
M@D,+HI%X(+MR@W\O[_=A\E-YN3U.O3BZ>?\;^!89;@%WP3^&AQM=#IK?>_,/
M-C93B([FH7")=K ='N'VE+; L=COO)QGLQ?E["@S X [%..L<[P^QW*K*9P_
M&4/0>;GRV(J[-0;7Q797'S3OA_GD?-7A^07XN^"?Y4:YV6ZT<W^V-"W#MIF/
M_X)H?EP>#>Z013U[<.[K-^K.?UWNL'0BEPX@'%1\1'B:TF47AA#\IO_NB%:G
MQ6T!.^8FT^FDM$4N#P8GW;1[DVY85I;OR@W,(^;MR,]'G5N4#X,I;[/C\LF.
MYN4]TSQ3)RS.6G))#9IWQ7CN6YRN-><L8]UK+=@-9A?6P%B!T9_:CQ%<LK:T
M_.Z&*7O(D^ON(+CEX+)MAC_;3YD9$5/*ZQ<B&$"N$)&VV".LHE98!<R<V$J]
MU#7,^L_%H+WKQNS'Q9#]"2/V1YSZF]OU+D N5NDS1-?S9_>ES_B WYD\VY<L
M?7,0&W@D\H6)Y,9A%)(*(%\1(Z.8A9B!"&:Y\3QNIT;D0/+%!G?3SIZL?+T&
MH])>@/$ YR^;V ZB-X=,L#%@K*[BY6(R;D=.VV[5<>-"<L"YA)(R#G$7$C).
M)42U5"+0O&=9[QS^_ER^_LK-)[=Z]]G=VJ-_1P;\6'R[+KFQ,:K=,?E.8TUQ
M<$AX<-VY3 I9!0:0&FYM-%Z$N)T>:<]R\O7>9_E(I*T(VQK$[?O^&5)/-S>Z
MGL4^ S0O"](EU("(XI.=#B?S=CVG?-,$O%Y+H*82[RUSI(MBN9));>(_Y\.+
M'$$TGX>S,[@Z1&[KR3A";^2C2RJOC;>DLW,,ER.LG""?YI!Q$><LWJ(0Y*BW
M[5?"P===-O<L6[I1^?GF79;MH>\T<+N<DO]Y'*XBB1* EVFD@@2[JBW851P#
M"MJ3S.DG<.B%(BDP1W302+, ,4Q4#H$Y%P@3Z^$;YZ04O<8X>>PST!;$_6'2
MWL(-<N4 XOO6Y]EK>/^#^X!W&L<7(#@0OQ)I<_F=AJGGWDIDF0?K;&G47!-F
M:8]C*[$ %AQ<-XU=CDN<AY!$4A1="!":<$M8+_NV7<&AZB@$YW6'HF<Y^32-
MJU6Z.,Y(UW?I.R_^NOO_89+S0S> &L8;@/D%PYGG('LI.80-5IGOB" KDD;>
M60V@):PRO3Y?F\#9=>_R=JE<A+;R6N61N$= ;W\MIZ+'G@3D: BYZA4>,1F;
MHWJ#)?>)F1YQQB;*MK/7P@-ZB](=&K[AF%$>Y*R,T?JSLF[^&*6\YC)NH;+'
M<&))H!9%2@%*8U3(:2Z0YDEY1J(COF>-'[.D47@!WONS&.:C^'OZN21_?P4_
M[7Q^_F?).*\X=M<6PMZ-P\_#,7A65T5 N9KK295 S\QY+N5KC8NCR>=E#AU\
MU(\?I_%C23AW6?3S;B2O>C*$>03]"7&Z\J.S/PL#.>I6 &Y;Y;A:(KEGN<,>
M08[^V_*8$ B 1K3?O3EL!+7[ZKVNV+/(PN*>BT?,C_/&SF>395UG?@I0E_S0
M^7 TLI>3^8+D\VUW.X+Q '^S/*$L EVT\4T;+VQ>Q5B^?5DAZZ[]ZK:=7Y^&
M[;"(S^6;Y37NVM)5;BOE@#+VS=M7?_O:00/)R3W'W/<[%0-"Q:,N\K3=;;=-
M_V.VO!T-#<G>-@2\H#<&6<F__NLK^NKK;_^HO<:'VS2R<07H@P;TIW96:J;"
M]07BB8,GLME9VURZ'K)!]RA&>*<RN;=]O.4UA^"#C&=O%%ST$=M<UD=]W<[E
MRZQ?%M\TLL]BXV_GOURM@K7#+PN7_[N'"/<IC>OQ;4![P9O+7LS&,:RX#T)A
M9#0.$.P:BHS $M%$HH P. G%M[$,?%O]WG++V.4RWNU6!,$P050\S"F._Y.7
M_K:SFXPK4IGR#LV4=TIXO6T[**K!>X$&;]?O6^W<8HE5$V$2=\ASK,'.:84L
M2Q*E**E)C-' >MLU=V;G?IS'W^ V'\KNL%^+N[LE*Z<J'VR-]H[9RLEJY0YM
MY2JW8>4V_(JEE(YC1O)2IG(N+UD[!+:3(:8EM9HS3>V3VBP_UE+F&/##Y\FV
M^BU7EMD:*3YG&]J5'-U<Y*Y6]=!6]1DK=8T=OVX1A5<)B^A1(DD@CJ-%5E"-
MI"2*2QT4\WNUB%OCUZ+FMH*PJA0'BQ8)WPXNE^L\?UN7%2+O"I_/NFT2<1K;
M635UU=2]3%.W5=WZ]LY:\1V'EXF" 0T2.:(9XAI,I*6!P1_*IR@#$[97'+YU
M8_J/\9*K((:?OG@X]-UY_M>V@LP=T^L_HX7Y.\LX#A))5OO:MZ_S,8Q@1WHR
MF]IQ.RJE9<U'.WQ0?5DUM=745E-[E*:6&Y*48AB1Z#3B%.RM-9(@BRE.CFE-
MV9,H'LI&EG^LX./#%7K\'<#CX;:TA6F 3_?M&JPV=3<VM:YP;CL[V]M15 UI
M-:0OTY#NP<RI9*(3&".I2$#<9^K7&"F25!$3@V.2]OHX/YW):!5+;B\;*VJ%
M:HT6C]>VE6BQ1]]2K=P16;E:VO-\2WM.(N3T/D1N!<W\SP1Q2RAR2@/Z A0'
M[0PQ?)>V^(>N-_V63++6.S;(1UHL5./28[ NV[7=D_''VZSVY9;!]B1WK3]-
MK6OCOMJX[VZ#:8P-.$J+DL<.\2@%,DH(1*B+!!OA[7;V7]YA,'^;C/U6;293
M=Q.[U99]CPUU:\N^)>G/-HB]F$E&66V1<8DC3IE%+AB+,*:8)*R2ZA.X;=*K
MY)>QGYS'#_9+9E\?3=KY]&DT7<^_81_!@Z8;E0:&Y86TJEO1X\:4.LK(3"R6
MQV!FOW0],C8F==_^_D@+\D^,0=Y&L$-6@)P+RY%F$>(VYHUA6^GC\]-R+%9*
MDEL3Y-9.P_$<S-/"3DW&[;;Z%-#!W5'<OJ3B>/I@[/*FZ#A$V6HM(HD2)4,D
MP+Q3R"4ED",L6FMBKN:^*<K4<><BAT SRS,7-G>T5Q0YS^&<E(Q(="^B_+"U
M<#*X>QO3Z<KTDJ[WBB3H<62]<&JF62_LC6DZ.2\7^\?@_:!),>3.3_ 6=C:?
M3::7JQ94QR'26HGH78P@S13$,Q".G,V%'2'BI+P72C^)DO3K(OWG@BYS6*3Y
MW>SG;K3>+P?KVL%;@VTR.#Q%]-'*>'8<KKH!V-EL.G3SCA-S-BD7F,]@POZ[
MJ^4#.0XQQ6GN-I!]C^7Q,;=-M;/FS(;&-FD^&I6>9-U)=C2:?,ZZ<L(M&7ZU
M8]MUIRUM[]K2:"Y3QEX;K:XAWC_G=CJ+4QAN&.$0NVY[,?>[@^&>YN'*#15R
M<X>+R70Y['DFROFY?]WY)'/X#?_*35!AW,>EM\*R_++,74=3^\Z7TN3,AP8Z
M-@YV&EIP*L,P03A<KOSMN_<_?-=\F%Q ;*,X[K!MV5L"[C3-32"F';UM;+-<
M#-LSF.);9K=(W)U/7<3C_&J4,A!D:MSVSO>!.[IX[:T&>U>B=8$%!(E?RC-W
MY-!^!&_VKZ\NX(W0>!+B\KQ7U[FC1_$+"C"$!7<RI^O\?/PV#-N+D;U\DW]]
M>V%#@"E:R]X/Q^61%EGM[HO_FK>S8;I<WJ6<BD"CW[K)E_QRF9YVE=+XLNN\
MQ=-8+&^?B][M[Y@5HJYE/+H$QBJ-L9JCM<]=$N1?SE;K!672ND4 F^!%WMC1
M9WO99O+:]<E;SDP9JMNGY2"COT"W97KCXM;W/RV S;@T'W4TILT"$FXW21W(
M#C/V7L2RU-+,+Q;]9C[&\<*57NN6"6<5S%S$U(NVX*6_9IP.)Z$T*X6W\6>9
M'+OT5CL'C+/@W"U[AWL8-A>[TV.8@ZYGN&INB^$[\[#$P'8((M,6S(^?X/,X
M=S"'\3X#%&V')=3/7N@X$Y/#/UXO&,67#SBV^0U>@Q,*. TG7Y:CV_@)'GQV
M63IF R O$K/E-S\_+QU$X<*C2=OU,[W^_J7/Z'1ZF=?1FD4CI^)(+(CF PP_
M7+_-_2INC/U:"4>Y; ,@-^[H.&?9#_Y8?LB/<3&=_%?7.?7V28"'.+=_=:\Y
M7!^TP]J T]*IKN?@'1T&KQI,A3OLO<T[.]H9".?L5A4\ )W]9GU+'A%777_X
M._=YIR2]D!01;@B$6KG5AZ$8,96L$/"'EV$;7?%^7(PZ1$SORIC_^Y4"_A:W
MU>V#\"-($BR[>[QNSB:?,_YT4EJL7;O <WL[&ETN83_W7(!_3";A,URL^1:>
M/*_%I]S9+/N?G[K-P7;\,</W=^M]H9=0';OXID!6.YE/?8GM^^ 5%PJSQ.F8
MD2[[Q_?&17<NQ10+?^MJ1(H\>D91<@3$1U*-G%(8)<*2C#)OA>QMA-PDIG\_
MF_B_SB:C;+%^@K @+_K-XK:6)O2S7YH@@V9]B!86O^F&ZG2MR"_CYMW\(T0G
M8#R(O&8\_E?;?#^!H+.Q87)1VJ3#;_FHQ:#DI1RX2'9&_@!/H?EV]7O^YW==
M)Y_SB]'D,F;'H0NC)HLVIEDEP2.TI<,Y/,3/T4WGV2D#&T:ZQ[CMYI0T/Y5+
M%A?LES%X:W'Q<?DL[S[GT[HG6CN@/-/KA2<(#DSVU]KRC!^G^2DR$L3R7LC9
M-B-%ODZ[[:Y"$M,@;(S(BFC N"2)#,PJ"I8$I8V6C/<6^I_050BF\GPR+H+]
M9VSC%$#RY\FTZS7T2]O.,X"]N 9":9*QNZ![ ?Y5$R%?1@L> \8A9XW+>!49
MV;?!7!BIX6**-KS]C=*)=@XAT=HSR8%ZU$-]2[[;N^/PM*9&SZRZH2N&>>8M
MC? 36Q7=^[M\:B^DISZ .LH^2GWI/9HN0P?HZ?)BWWF+O96..@N]62^E:\MG
MN^V;=*+R576JZM3U >RE(*M>'>FNUH<$"3!XA]^5\,3A+O%N,[DH55<EB,KQ
M_#@TX".W>2D=7.?=;;,_T2YY+VVO>>5;^'HQ6DB&$N(TLI'+7(R&D?'*H)B$
MMCKGKK6]F<G2,3#'6$!$>@/G)(NT$03IS"JOI!$Z]=J[KZ6P?K 7PYD=O3^S
MT]C>F<^ZMG#2EF,WW,5"7W-]>GQ#QZ,@%2FK(+P I*1*<QZU1XE%AKAW#AG"
M"6)1D&@##EB9WN8^Y:4A)B'#-$<</B.G%0!GDBXYZ151X:B0DF!>D?+0&]]?
MEH/?K=!5_[Y:K6JUMF^U$E<Z<<'A-A:L%@X.Z4 LXIP1&IERWO2LEN?$2D<Y
MTD2&7,PBD*94(LV94Q$[F; ^(JM%7F->R=8J4E:DK$CY!*2,-E)A;$+2:I&;
MRG+DO(R($:%4Y%@DWRL8M5A+Q0%8->48<2$Y,HY%E!SGW 5"!>GM-#T@4NJ\
M;:/B9$W?[\.[?S>?G4VFI17!6GU>MRGN6HWA_=5(^441'TAMUO\3=W&"W5\;
MU6WLF #8Q&XCQMW54O1.(K1J62MT5,OZ$,O*));:"81MCCR$%<@0:E PPAD/
MH8:4O1A$*QMYX@EI!B$+3T;G\",@9FGPFG%EW3%95GEZ38(.K!V5?/!%3ON+
M 44JC5!:"42$48A;:7(K%X:B!=13GF.G>_U</#..0&2"M X!<4P=LD$1E+ 6
MP3O++"='!(J<ZXJ*=3'A.,*-&YN(CCOH8#7HJ/:UVM>GV%>FL*4D210Q]8@K
M+I!62B''-/&2Z^ABCP.14"$=\PD9IQ+B'@=DC,,H$F>4P(J*8([(OA+-JGVM
M.%EQLN+D$_I*QL1#IBLW26>"S6209@P04QO)3=#:I1Y.:IN"5%;FK<QPI(T6
M.:]U#F T4<:F1.4QX:2J14UUV>-(XI".>F%!J-"1531_S*?^+'?R./[(A-?(
MI#;_.I!-?B[-O_91UB5XXBHR1!UEB.<.F3J!Z;8Q,>4A>K&AQS?$I$@^>8>8
M$ )Q3@C2,F&4V>)QH)';/BWV :VVV'6QPA%L4SQ"):OK+A5]*_K>@[[.<IZ\
M1TES#O&/3L@H'I!0.AI/HPFNUWL&)\5PRA3%U%! ;(&1HRDBS+'S1JD0L3LF
M].5[;?UT<NA;UW<.A.LUW#BA+H='9?)>>'-#K80CF$>4,I<N#Y0C!T$(LDE+
M$W7D0??JHS=I;GC(@H778)MKQ\.*RQ67CUI8*BZO!R/*,4.%0C):""PRQ[ES
MF= C!9:,"!">]#ND)6^E\@(QSPC@<M[KQWU A'H6E9#2AQ[U]$%Q&>]ZJ?OD
M<?G63K3'$Q%LA7PU*TB:3&;CS 5>M..W#_\W)(<CMQYYAQ7B L3<Y>ISZ[G$
M7CD2K'[5?#D?O1G9\<=_?17'Z!_O'S;1^V=,OH<+6 S8S6?:/1GP3=;X>[B
M,W=SQXYKW>33HGU 9O'^>M^(V^^R=31U6!)C+4'61(LXEA0YB\%W9=I)Z[A0
MLI?:V<3+_0!Q?3N?7G9XVD'K B)O0<TKK/SEMY_O <L[RJ&X%I)9BX+$\%Z)
M4Z3S1@P:K:64"&EEC[%\DW88NWLOP<EKF.1;S,"VVV(\4J!GBU=N.L;Q[MT:
M6[CH^\TL[^19W-/C/KUYSR.'YV9CC25 WX[6R3CAF&+(X<Q74/J]1L61EPIS
M)3/+OOLJ6A>,'9:>4V\0'2C^S:JY6^'?I@,IU3<WC<X!2PNV#NET[Y#^^[CY
MWW9<&C]T0LV[W@^@PUG2<UN8JZJ(A7X,Q]=W@>;&+5F1N@8QF]B"K;<0"AQ[
MZY5".% !GK6)R&IGD$L4,^,T9D'>Q$P>L&'64T!*EA"X'1YI0QE*C#L7F(G1
M]YNZY!'Y/K]Z[MD1QVW7FG4Z!0DO%>O?7UX=\H<M73-*?XS?ROC^GMZ!?.=3
MEB[Y50W*DU$7H/\.U-VOB"VDYF(^S<'%;-D8-7<A^CB-<=PU VD+5>BBZ>5*
MM(X<\HQ2.@G"D<U;>\!.:Z1C)"@H&[!40F'E'PYY9, $N8%Y\!UC)XUY[!"8
MM^IV(UXO&MX<A0N+$XM:"HRHP!'<T>0!L5Q$(409'4\1OKX)6TEX(7 2B! !
M9E>(A(R!F(GX$'QPT@73H_1\,FQM':P8/BJP^ARG<=WRW02OW'5XA58W]B?U
M^I%]'4."QQ#9@I4"^Y*W2V=*5BDLDH%J"Y8J.D&JV_15".'?/;T_T./DY*EN
MT]>J2(_0G=*>"Z.\0DRX7#7!(9P$,$* .]HR2RU$IKT=.8$8'ZU!E/GL@C'P
MOB0!=\H*K;!FWB7VG-PI<C0(M><[;N:]?4W"OX*0M_9O?% '1+IY1F_1''S3
MXO)'-4'L#L@W>),3\4-_=V? 13(^#VN7CNG&<G^]$)\X+ANV0_S5@J@L,/4S
M2%J;4X[#]JQ0C#9VAD#&$#SU7W'6?/ONPZ_?P0"E6+I.@RQ^G-KS+*1M'(V:
M^47^^#S:Z&[=F93!X&1U0%9R@K@R')E -/+"6:.QS61I??Y(;4C2#DF>%.(\
M9W,8^):6!PB# Q/)?6UUZ3_L:!ZWU#=7#': M1NVS=W[?1=(>M4(=+TSXJ!Y
MU\]0%ETYLY_B2Q5WXL"KP-0BQKC)33HU2*WP\$DK+[%*A/O^KF'L-!$4!2]]
M;J$ D3Q1"@7C#-6<AU*+OQ=Q)X.[:^9/7MSM)SL<E86EJ]U6/5#/>[*6O:-A
M@(L*3.;3ZZIQNHV"/ZQUE9]&GQ>]NZ:\8 *;C]-)VRZ&!<;+QQBZ-K^K4?23
M=E9B$+MRD9L+.PP0.3:^*PI8HDYN#9S+>;N6WW94G!"POW$VN"<<>5PKWN"D
MA!A7(<5*,Q*2D(D0^5)*1<0!X@W6,U!/:,4+ [@8O_;=[/Q]'JMWH&>?AK/+
MTH$WW\7=TH&W/,%P/(_AW>RAC_U_R9XEXV9+W79^#K(+%VO7#<F^%7O1Q+LM
M,MI)IUT,>1/FTV5_=XC_AY/</#X,?1&ZNYK.W@P.KG3]\9VA%[-JUU<-'CJS
M)U9\<2*=;[FYIR_LX_K&WM9XMF37GG0-.9!/[9]+Q.!QE]A7!]P'=;P]]1T-
M+VAOWA;;<AY%$?%NVW1^.)O&V/P*_SYKFY_&V7W;8S?<HQC@JH15"0^KA.^'
M7ZH*[DP@GT!)$TYEZ^1V^VPME@Y+AZU*%U#IT2H]VH,3PL8E'X2E*)F<W)4T
MUP#BO+3A%'$D)BI[NVLL391$;)$@N=::968T8R7R@6#O#<TE7KU%ZYQX_*5H
MZ(\EI_%'26=TJ@LC5'ZZO8AZL_W]6%1.M J%%0HK%#YX*9C$*(@3 ("Y1C#J
MA*P0&C$'_R;<*)]4CW,JLYM$II!V% -\)CA'48U48,19J94A/=:3?4.AI+5Y
M1Z4QV9,O_O>RQK9<7:N;Z$_4)EV7F0W*(*IQ>IQQ"M$IPQ)!/OJ(>& !:<(]
M(M9IH@.8*-,K>M_(3[=Y%7BQNW'<#D.<EL6_/^&VPT\Q_#[^,+7CMGNV.ZLZ
M'MN67;(=LW$]8Q-5O?5G->T5&?>,C$Q9;C V2"=+NNY[6M&$C ]!BX"%P[T,
MQD9N^P&0D;UFN#KO-9&^)^?]MSA;*XQ+L[))9[TTKOKSU6I5J[45?YX:%H3T
M"(P40QS,%C(L*L3!B"4ADB':;<.?_V.ASC]/)^?+O3*_3SM;]M,_Y\/9Y=:<
M>$%J.\3JQ%<XK'#X>#BDG',IM4>$X$PK(@@R6#(4G=?>1L=UZE6Y;^+$[PT.
MV6N,987#4R+KZ]WNP:\.4K!@@>MJ\/W(MB!$%_9C1.-)YLSO3GYUO41_%+^@
M,)S&(CNYNGM^/GX;ANW%R%Z^R;^N* RN*JJ&W7,M0J#NB\4.U>5=RJDHCL-;
M-_F2WS47JJ]*L[X<=T';TZ8F>RAK$EFV32_^7)^CM<\KB3U;A9=EVKJ8L<1(
M;^SHL[UL<RWY^O0MYZ8,UNT3<Y#Q7ZC"4DHO;AV!O]W8^[%^4&_G.8S18?98
M[W['QP9;9OH[N!AG@F*!L/%@VW0RR(A(4)0Q16ZME*['"_&8'5Q+V_;CL/6C
M23N?@BU;9X;X,S<]RV01$,#WB"':#W#3[V_9T/4P/H&;) E[RF8\BDS@SFQ'
M)I@A]"G;O;;R'(,%^T.9EF9]YAZY3W-C2#B,>ATW+\..^"K*5*/^5#<_?<F?
MX].VZ_6PAUI.C7,,66Q%WJRGD%&$(,QXI#@QIFFO^^DFV'.U@71):?(^3C\-
M?;R#K&8$B%,^_9[^C'[R<9S99[HZF()33T*E9[1?N1,'5\3!KXO#L+W:O[S@
M1+JVX[B=P5\%P,L.[XO%8D3A94V3T;[WL(XFG]L[-Z3N&+WJ7M#5KHM'[@5E
M<G#?;E R4/2I.S')0#_U&G0+&T*W\!A',AH'>8Q][8_M:_;1[%U[B?OU#O7.
MJQU[\LD[]HXZH?&4;;+GD[)'+U[;H[?;[7DG*FU5PZJ&]?? 5OTZ>(E]]1LJ
MJAUJI_\)HMKN]^^?J%A55:JJU%,E5E6IJE)5I6J5JBI553H:5:I6:7_[2'S=
M1W++<.<EW+PL^7$R"6T6H&VS,M6-(\=2$5HKI?=<*<V3,"(H@6)0"G'I-7(F
M>J2XQC8&;A)+-RLZ)$V62A]1="$WN7 *6:XIPEA;H4/$QO0:W2Y*-&*XO8)C
M4:ZRI6II6<F:*D)6A*P(N14>IQ0U23J@R!)#W'&-M *T W1DN2$;M:K7X\0%
MK[P3%FEK+>(B&F24@[,5S_5R%KMD#HJ0E</I-'G-*D16B-P_1&(=N& ^(,:%
M0YQ&AC0.&%D;8P!GT0BC^]OMJ+ 41Z0\RQ#I CB11@%$1<ZH-R&8=%"()#GS
M43'R]!2B8F3%R/UC),%4,I8\\I:!(R@=N(0<>^2L%1X'@H7M,33XQ%.PF@,H
M\00821-R@1JDH]<091/-R6$#;<XK1%8JT/UD@?^,;2Q=:G.+O1 _Q='D(N]8
MJ9F.$S51U5G94X*#<./ PJ!@)'CO*D1D;)"(,^>88E[)$&Y:)G#OE556(,<M
MSHWF&;*&"9124!0K*;P\K/?.O](UOBI$1<8J"!49[T5&KY5SQ%KD4D9&2BG2
M*C+D'*7&4\TE[U'X2^TD"8"AC!*+..8>67#:$;.,1^:=H/:P/CO5%1E/4B$J
M-%9)V!LT,LV(-AH\/DX!&F.">)4%B["0FFH2'.7]/N*1)")(1,+H -#H,7*9
M/<)S$AC3Q 3>8X+8*S0J6BDG3U(A*C162=@;-,; L#51(*(Q1]PYBS26&ADM
MP?^C3JM^IE<H'Z2@'-F (?(VVB.G@T$F&((AHA::';9@0!!5H;$6_.XGU9L)
M5-N2YX6G^"O.AN./-9=1K5*U2D^P2EIP[A--"$=C$-<2(^.T09%+Y8A,48I>
MH:_5D9D ![%(-.*"$;!*"LZQ!E/,/?;AL%E>50M]*S!68*S ^)3E+QEB2M8B
MSS/O>_ 4:2$E2L2X@#&)RLJ;P)@$D8$[EIUT@;@U"5DB(S(J"B5%C/; F0Q"
M*C*>I$)4:*R2L#=H--@E[E)"SAN:Z\]P1CB-1(C<"X.)(SV?D5 K:8@*46XB
MXL1QI U<0C@J,;B1-AIU6&@4%1I/4B$J-%9)V!LT*FFI4RHAF@*'<)I'Y*C1
MR#!M#:,^,4M[N\)\TDK8A)3!#'&,$])44F1DQ(ZK!!XG/FQI@*H]AFH][YZ2
MO'^/XSBUHY+FM0&.&K:SS#K_*=:4QCZ,T\'Y;([0?-T_)B_&P#$MN*,QY UY
M+*=%/!@KRE (I<]02A'W?'\<I8G<2B15[IW-J4#.>(<D%H8'ZF3@]+#$$'+'
MJYA'P'ATA&I5$;@B<$7@1Z_8)<LE<1YA:0,@L#3(*B^04(8G3)*5_3H2;"QC
M 1 X8"D0SPM\N5 /42:X%HX%@./#UI'L>LM@1>#CC<LK!#\'6:D0O()@(:C!
M6EED5 *'%@N7-X X) B7(7!"J>HYP0Q3F=<'D<+.()X$1EK".<9YHA@V@A^X
M:(*\IKRZP16$*P@?L:Q4$%Z!,.7&^H3!B0V1(DY%1!J^0RQAR@)XM9SV&QY[
M$:(6"1Y- 0@'&I$36"*'50I<6YVB/3 (D]PKN(+P\5==E_<9C@,\U!L%%]TD
M0;\8H]+,,U]C_9J+T7UFZ?L/DYD=P97O:#@;^_V'MX"*!Q#78S>7=$"S8H?)
M//>./:#!/!9&J8<,SXNQG4)A*;#WR#(<P0X:"&"2L2B(B UG@:2(>\6-@3FB
M@T::!89X5#GHP0)A8CU\XYR4XM !#-YK '-#B$[!>M9,?H7D"LF'@&3'4Z(Y
M1>^BU8A+ N%,2A8I18S#!C.%^Y#, N>8<Z2Q"YF8"0"=2YH)^ ,G@EO"#EMO
M;N2.=\Y70*XYI8K(%9%W4NI"A+41.Q0\ "L7A"&K.496ID X24&'W@X@)9@(
MS'!$B4N()^?R.1H9ZKE05!$=#XO(]#45.R:PKIA<,;EB<L7D76"RM=1+;RE*
MDDO$(W/(V>!0BBE@RHSBLE?\0AUW+O+,1 7 S 6XUU8IBISGT=J4C$B'+3\D
MKPW?<>.5D\?D];0_?+;P8L>4%+ZZ]Y->N!.1W^;G<3KT\.\P_'1Z;_F ]Y$W
M;K&G%9!>L]2OO7!W0+[!F^$,[NWOYK7)JR7-[Q=9[=OUD8#IO6,L^K=;(>9"
M.I9.;$HLYFWLUFF+.*$&.<U=YAV55EL= 4BWX<2^]V<QS$?Q]W0[8I9W7+SB
M.P"X3\/9Y8>LI1_@OM\#V/[UJHF GA=Y96TZCP^#H@/)P29R_N$L@A4 L_)Y
M./[8%(!JVODY/"%<K&UF\/-D/FMG=ASR 64%K9F4 6OL8L":,)^6L^'@"YCD
M26B&</A29/;U*L4P-M^V>:);> )XGLF\A0=OOWOS2$5^3L"TM"Z+N>NOX-KY
M;+*TM/DI8*KR0^?#T<A>PO3"+;[$\+:['<%X@+]9G@ 3-K(7;7S3Q@L[A1%>
MOGUQM;IKO[IM8?O3L!VZX0C$X\WR&G=M(2NWY7A OWG[ZF]?.80,M+SOD/M^
MIP/UY&L,U-.?@O$G/P4YBL&XYW<SH,2L__>HZSUM&^-M>O>84HKCV,:XM\CX
M1:^A@>CD7__U%<1<#QV/EY NJ8-0-6.A&?(>S7A4$>CA1FSCJ.I! _J?Y2SP
M0RT,DOWXH)*RS0LBCV) CQ.<3WD\7O@8[,LK[(_DPV?A]$;]Q;[S@]'GX#M#
M#F'P?IN?NSAM)JGY%S?]V[^M)XC:W1J_$Q6WJF)5Q:X/X$]?XM0/V]AIV,5T
MZ'?L5IZHE%7-JIIULTOON1V.\]I%_BXO<<_MJ(''.&^^'8Z;RVBG[7=5UZK<
M;5GNWGW\.(T?[2PV0Q"[X;@=^N:3'<UC$;NK=:LJ>GO;91DJ[>$MP_V]'=FQ
MCXV=-3]&'XNKS\CKAF+*ZF:=RLI[N@6I>Z@:=#RP9*E!R42.N,P-:XRWR%GM
MO:&$$DEN%L%$I0B6P2/.<^LUKSTR^1(FDB03MBGX7L/>VTM?WDVG=OPQGL,3
M?G]Y=<@?]C)_]>ZSG89%8<SO5P4@7;1_K<"PJ[?8N.Z;X!U3;+UH!:I(>E!!
M.)9B[1<#J<S3P+TC2 G*$&>,(<,50<8G)JFA*0E_9)"Z7#%\URT8+I,]?^0T
MS\U*[EQ(-2T77N$M7L=;>E])-Q[0VD^]PNV)PNWQ",)1H>P=-=A4$*JCQL@6
MZC]F++(&/AGNC1!6L.393:SD4C-E!)R34D3<,HZL=!2@TVOE&-6$RENQTMV/
ME>[16+E*W_UPE;W[$*?GUV$0M=&_"?-ISN8]/E:^2X+D@*[$Y^;^AZI%S^E]
MJY.V9R<M<B.QCYGGF0.()"N0PX$CYI(D5.B47(^G=&,G;1/@^>F?\^'L\I=Q
M.YO.\Y?M[[.S./UP9L?+K2++_.TOR_3M?^3L[1I2;6D/'J,[WH'WC/&E]KC9
M=H\;4 PPKM4]/E%#5]WC/=DWI7R2P2&GP4*!-VV15L:A0'PTD@F3;)\"=I/-
MC4],0A1];W\9_U'V[/U].FG;[65V.=XQQ]*+5J"*I#5D>$F0BG&,U ,H&JD8
MXDIHI&.TB GO(P!G4-LA/;H74MM'8>H^<[MBL&N:T8JX)XJXMQ1K/3L0.HA=
MJB-3Y:?*3ZW8.Z(DSM+'J&F<4PT^*BAM6V>^O8VJ:!^)(JRXH#PAA;U$G$2%
M#'8>D>""TE):8WO5*AM%-7E3WB]M.X_AQT+5U$4G)=AHURFP5N"QO3S0Z66!
M-@W^'U3-7Q'Y!4E$30=MVF2->*6\=,A+0P $I476!@+HJ6QT5A."Q5&D@Y:
M>I",$!N06NQ70;=&]#6B/X*1.38@J49[ST9;!8D%I@0E8G+M* E@KT5"TJ6D
MHW:$X5Z]Z2&6Q7LVNS2/O%[IM2V*]=.+CFIUU]$F!B^&TQC^]O-DFN*PUGG5
M=N$'\X*>2[OPDT@R!B-8[M6'A)84<98<TI8JA*D/5CN3L-M.DO&)9G>!2_-I
M;-^-0T&K<H65&=[BKN.7V<N\)BZ/VE(\(XFH,="F*SXN..ZX1RXRC+B*$6G%
M%7( MX1'^$,]#S#>9QY3#VB-DRH&USQFS6-6^3G&4:HC4RO;]LI%][_GX]@P
M7'CH>+6,+[@=[E%ELEYX%UR=B&1:2,0PU8@'3Y"%" 4Q*2C%PDH:]<W@1EBK
M,0\&Q6@@("*<(T-L0HP1IB+U-MGTK/CLN-YK<ND$>^96W'[FH6W-*NT9>!WQ
ME$:B$2'8($Z-0MJZ@)0(F!K#HDP]0I4# ^\^\T=FP&L=7$7;$T7;XQ&$HP+9
M5[>3WCF=J,&8(45\1%P:EPE"(Y(80)0$#?^9K27@3Y#T[BK:KJ1WS_E]JX^V
M9Q^-IB2YE DE9R3BT2=D(T3(T62V31>39V%K/MKS)KTCKX78<1#]C!'FKKQR
M[8->VZK6/N@'$XHZ"%4SJE#40:B:\>+'HXY!E8DJ$[489I?%,/\1VUD,#<3=
M3>S63FQ> *ZU,2\D?U>S_OM)V_F8@G=>(,H515QZB8PF#"F?X%M+*9/J&)96
M.SSH:O6CAX\?)OFKGZZP8=NE+N2U9+4Y1078$P78ND"R9Z0%6 W"28I\X(":
MG%CDE*4H4!)%,"XJVZ.'.$ZDW6M'1S(@=:VDHO")HO#Q",)1@>\=Q2V>DT 8
M#\C*&!$/+B(KN$&46(^#-XJ(7@'V(8I;[L;*NXI;R!Z*6\0 U^*6DT"-ZKOM
MVW?S.!%& 'B2=XA'P ^;7$"8*I$XYBRJ[47)VP&>ZT4L9$NE*U+4'BR5T>L0
M.> N%FEFD^83?%T3P2_%UE4/>3\F#DR9%#Q[Q]2)S%Y)D7,!HT!XB%8'+C0Y
MXO3$\][S^*+UJ@)L#29>$M*J9)Q11")F- 03BC!DJ(0_3#(I:@O_..8EM[K)
ML8)P!>&3%82CPMZ[\L"$6BP91YQ9@SB/!ED#X,BTH2$%Z:S:7K?<)Z1C'HV@
MATP/U[V/IP(FU:/;LT?GE   D1Y)%0&4K&7(817!3Q-888*3V^+>QYUZ='?L
M@:P;'_></X;/.8E_"Q2'X:<'O:*$?QX@L7OU+ \?E@]GL?F\,(2-[2QA\S$W
MFF\"B&*3['#:?,IRV$Q2,^EDN3L 3@BEXV,S@XNTPR_-.5SVK&WB.,!OUU+$
MS6?;-K>1U._RW?[G;3>\]VK;CSD%]HG1B*BP*C/H<&19$L@KBD.P#"?I;B*4
M)<FZ1"P*,F.9 %?+6>Z0EH8EIKU*&=6VBU!_SY-Z%PES^?%'D(B?02!NQ:6G
M!IET\)5,W[Y$9M!DA2CBC6Z1_VC]V4()&IN'KAF"N+<S>(.L#O!M5H5R(AS=
MJ=&\7:K(]R/K_T+O_=ED%%OT*V HG-!=#5T PN3CSB<AC@;-SY.\A#7Q?ZU4
M[M/="S*OR]7MTGPTPZ7]6#PXJ!X\3=7')5N"E@RD3B'!02FY%QCIB ,*5&IB
M0S))\I['X+%(G%L$T4W,C2Y '\&[0$$+;PE/5$E[_!Z#O.8QB/L\AH$\N#XV
M<,P(;CQ8-]RG98'?W5A-+=H\C2]90YVR26CA$(O&( XF#]E(.")1:2^D9Y[T
M6K!NHJ$_G5^,)I<QOH_33T,?;U?8WR;C#GN+;K:E8=OZ[S],VMEOD]G_B? D
M?O)Q# ,5KJ[4G723[F1+&DISVN!(-#2;F/EXNAH"F)ZK,8)_M+-F&D=V8;;F
MBS&]8>26?N4</,AIL6IYI.WX\O___S0EZBT8V\(DTUR,+!P^.[.S8H'7#**+
MS=I#3#XMKC,&2;E5G>Y]\3OR8,$)CBUE2&$GP8HDC8R+#A&.I3<Q84IZ<><F
M7MW.9+1S\\#16'R5C]MFKFMCB:(#<4\R;&^RG=^\?:SMV1,SS28OU ^"C]>6
M=E'I&S<9A?M?N#L@W^#-$&1_Z.\<@C]!3T"6,EJ\S]BS/A@0WS\5%G*G41SS
M)C[C&.)1,V2BH@@[9U3T$.[)[70/]V<QS$?Q]W0[(ER]9GG+?X!^MP4<WH&9
M^ 00^B'G.#[ 0WP_@M]?013C[07<8#8%!_*8Y6+3+$>" '7RN<1B93MS.S^'
M)X2+M>N&9M\0LS)LTRNY[&QB]A":;_]\_X_O&KN8L_5\RT6!;XCUPM 7J_IM
M5V@#W\#ODWD+(4+[W9L3QJYENFXQG=T]%X^8'^>-G<\F2TKS_!0P=/FA\^%H
M9"\G\QG<XDL,;[O;$8P'^)OE"3[G,R[:^*:-%W8*([Q\^Y+H[J[]ZK:2TT_#
M=NB&(YBN-\MKW%5+6FXK]3=O7_WM*P>0I_[.=GV#[3[ TVIY*R'=H];27G1Q
MPH.)9![55/9P([:Q:_6@ 5WSG/[%3?_V;U=FJMU<TA[2SO0HQK9J9-7(8]/(
M_WS0PEU5SA/BESJ6RI;M]5O[,?J8-PTTC)0$.*N%ECNMC3H?AC"*S[E8X[&"
ML'CC%U,293%7A"B-K.0&\409LCXPQ*0*)@A""8LW<U"2*R99S PI3,$Y#".C
MO$>**1.I(48[N;4%SGOIX%?Y[&WO)U+X[C7-JE857Y^U(!R\]O2E 2T."> Q
M:"2TR+W1"F@RB6(*)"GJF=/VF0#MWLN]Y,#LBL[@^4/Q4=$9G$C(T94W5N-W
MHL:O!A?[L7G*!L^C3LA$PQ$/BB-G/$:8$ZV3%5'J'I4BYAY;;0+B(A#$'=;(
M$?@CNI "?*<B<_NS>=?KG+<76W!]=S56U:H*K\]:$&ILL6><E8YYJC!%V,K,
M5.  9YE72.%(\GXWZ[%_3CB[]P!##$C%X[JF<1#*M&D<Q:POU1R>J#FLT<:V
MM>?;.XOS=VMGDV7.$V*0$%R!S90&Z5R8+Z70'*MH<7^QY+CL;(<[VX]GB#F]
MM9)-W=CO*I*?*)+7P&;?@!M8BL19Y(+' )[*(&>H021H9G"0E!][8',=</<>
MV*B!9B<'S'7EY'@#FY\GTQ3A"C6<V8L1O+^T]1GKYX;6\5'EOC4D>IJ%%EYZ
MIQS$0,Q2L+;PAR4"HQ15L,%Z[=F16^@58FT_*I([3BH^I.;ZX :E!DY'9C.>
MD434P&G31CB1"Z&$0,2J!! ;"8101B,1<7!&"*U5CW'B*&%Y#NA[@.4@5>O-
MZG+00;:XU&XY!PZBZ(!F/RI,YIDJH(917QN5%V-/E6/)4.R0CF!4>< 869?+
ML277,MG\6Z_K#J5.Z<0,XA$7CF&PP? -HL;&I##S+&Z/.?APVV0,VU6_AX<(
MXB'CG%KP=HQH?G!?H(8WN]],$VV.8 )*T6'$F>< QY$B&8TB&!,:6:^P^$CA
M^ #!C=D5M_MI!3<OBMO]79_WN9++_E_BI?.))Z2XYH@[9Y#+7+/6.*&2YH+$
M7B/S37#FN9/+\L'AZ=C7R65G>6PVH9C]\_T_VN;,?LK,>;;?[&"Z[/M3YGS1
M^*<!0WN>[[I-REC*"<%.!D1$[F3- D.6Y%2>C5RG9(FGO48 QY7 >WSWI/8X
M&&5U992]W[N__85ZMWNP$8:ACE_\:!YB1ZWJ1[8%Y+D <4'C28C+DU]=9UX=
MQ2\H#$'-L\AE#L7Y^?AM&+87(WOY)O_Z]L*&+()KBV3#[KD6^<KNB_^:M[-A
MNES>I9R*XCA \/DEOVNF@US%H5\.$VH]3=8>.C7$7/.-BJNS^'-]CM8^=^[2
MOYRM,L%ETKKTKDWP(F_LZ+.];#-OX_KD+6>F#-7MTW*0T5\HPE)&+VY]_^/U
M_G;$A?Q'G!9PSFGJ0A/<_.,FF]\6*)$35XX:I9 022"NC$ 0T7DD'<:",NDY
M[SE<CZ%$AJ#JXQH?\MI+K:B/*]GQ<9$=7ZP)WCK;\1^5[?C4V8[5@-]+>#S@
M\JF4P^#R/?42 \.?_A2,5N[CRGU\A"GXRK3Z&*;5-:>B<A]7C:P:>7"-K-S'
M^Q#,6ABVT\*PRGW\4LH)#ESX]7*J"(B6E/B$*(T2<:4C,D:S7-DEC+>$2M7?
MNR*)9(QK)*UQB!M"D.9&(F>P25Q8[N/VFKL>KJB+D!T7=;T@M:KX>F2"4,NU
M]@RTB3#%J!.(6:,19YIF1DB*F PV.FQ"#/*9 .W>R[7(0)D*Q74'?^4^KL;O
MF%2OVKROVSRM19+6"N2PI(@GE5>E4T0X1<X<QP',X$V;9RB14<.16$N/N.<>
M.6TC(E&[J'RD7)MGQWU<%A+1?\?I9+&H2]]6>U;1]331M886>X99187-%=40
M51"!N-8*&>\%\E0KP1Q)./5"BV.&V2?%%U<@C"L&UV6,XXDI*MWQRS&!-<#8
MC^4+T3%JF47&,8EXD &9& 5*7,A(L-:$J..V?%LB(Z[&K088+P9=:X"Q[P"#
M:)^\X,@G0@!FK028S<3OBD>KC \*]_HV'C/,U@#CT!A<%RVV'V!4VN%*.WS@
MP..YT [OP69ZK;D4#&PFY@SQ2!TR.'A$O8LN::>T2\=M,[='"KQWRWBDI, U
M@CE&(#^XW:\1S,[1F%++J-84!:DQXD2! TD41E9R0PWF6'/^+-#XR5S -7RI
MZR-'&;Y4_M_CB68J_V_E_^UW6";*2$X<2ICF-B=2(>>#059%3K1G,A)ZTX8&
M(TS@@B$;B45<!YY+$S2RPE 7*?58\;I5I/+_5C1_[JY5#6GV#<?)6BFC0X'F
MJJ_H+3)*2D0#YY)&IHWI)9B.%([KAI)C@N*CYO^]<:/^.]]!JF9"BE02C03F
M/)>B<P0A+D&28:7 <:%,FJ<D  JIVH^Q]=-A$>[;>=7VR&JVH-%M;-M\CJ-1
M_AN&^J\X*Q5HZX1B<$X8%H4$#<H\KD.(OC*)V+AX29G5]8],"3L[@] L?W\V
M&8$STGP>PF6CG8Z;-)V<-_B;S")+!/R=V6?AN!E,+=SOZC*=CS5H/G0,9?NF
M4\OVH&.P]7'X*89FV#8NHU8S&:_3O&6>W/-)?J1,6G,QS</8O4O;3$#=&PM'
M3V-$F9RT:1<#W5&N#9IWH1M-.QI=OKYVV?-Y"Z/OSX;Q4VPFTR9^\1%NKL1J
MQ,H%810+*\<4#AO/5\-X'FT[G^8*PFX6(DSCXK1_SNT4)BZ3N\&(^;.. F[M
MN?.;+FX<KLA4#TSMVM%M[_NVE=[[!KUW$%8'RQ X WF/#DG(),>1I]1($C1X
M%[TN:9NX$4=$[WUG"K3O)^#7TMS=/'IOJO(4.N^,W:^/@L_;* Z AR425&4;
M["*RC"D$SBH-PB7.>"^!<%Q)^&?*YXV?.9_W,R*3_4\PS.T,T&/6^5!7U%HK
M/^KS<'8&BKCPQE;>5S-O.PW]-5^L^<%.1Y.F'9[/1YV"GT]"+&[<PN@7'P$^
M=SQ>W<EG0_!9ICD::3Y-\GF9:/19L:<_-G Y7NG9$0=U02[T/LYF(P#QWQT\
M9Y&/]GF,RD8Z=1;!6QG[^13<W]==% %(VHW Y&H$LMD#;$-QX6HL0I82ISAP
MB.TP,R*#P0-\'_IL ]=H*1NX:(X,<J(U9#6SWD_G\#%^R28D-J.A[8A[2P!5
MSD1=]'#-#B\.OZ9T6R %YTS)W%,%46M*,UN%C),1G*_(DDTA,-/;X_<84O"5
M[5SQ@A=!<S>MZ)^KP2M![;MQN/%-841_MZ"DKCSBQ\4C?I?JY)XOG2$!5[$+
M(8?GYS$,P<:,+IN%)_D5?O'*)'[T3.*,#8Q6][!KBP'&][)TW\_BK21[,IOX
MD\G$\4#@Q[&)WT*_/B!/'@\Y,/RIU] #I9_^+H(^[CDJN_JN67FO<+?S56[S
M:KZ]UK.ATD(_E!9:KFBA%U"[:++3JTFOK-%?\6FF,4+H.9Z=M3GC#**Y3* ^
M1!#O&OA5Q4+EDJY$[U6C]ZG1[X=?JCX_(V[XQWM3_9%\.**<WJB_V'?>8GN,
M$X3!AU:6;PYH)RI6596J*O54Z4%].*HJ556JJE2M4E6EJDK5*AVC6!W5MM8C
MS_<_:+C_OFF/O;H%:N,-&,>R'7J#2N#M2\1I;X'2%+.4'$/)&XXXX019ISAB
M@5LOM:<NX9M%,4)'G@C%B,04$.>8(,TT1UJ2X AV47'6*XK)A2V_M.T\AA]+
M#43'AU.V)MTLB,EUI'^?3MI;ZHYOW5IZWU8EA0>[VJIT.$W9-3(<'U5"!<@*
MD >@O?%211U\[KA"$8\! )( 5";*.,9,!.O838"DUA+LE44J"(NX)!)9+2+B
MUF(31:",B7T"Y,&XQ%XL/%:/\E@$H0+FG@$S>.4=41H9[!QXARDAPZ(#U%0J
M 6:JH'L>)>8>6VW F12 K]QAC<"1U"BZD )\IR)SQ^11$B,&O&)F=2DK0E:$
M?#1".HX9B0$CSRBXAR9!_"PQ0Q(GRQC)&U%Z3(HDQ!B)24AK## 9!$6:YCZ
M1 8B0E!&]/O8'A A#3<#6A'R.7"WGT*6.!>!=]0872WXHDM4M^NF^O8G:KF.
M)\@[;8.%G9;!48; ?0?C8[U"EAF'E)<)?'5O%>DUH=UBDKALHVP?9K&>QD%8
M??J*E14K*U8^A5,P)DTU5XAXGP K0T1& ?BQR!E10E)G>_WTMI@OWA56UIQQ
MQ<J*E14KM]L43P;/!8F(,",19R8A0Z)&D<E @H_8^;C#5/'>_$HN*E96K*Q8
M6;%R<ZPT) 2IL$$J*0K@1PW21BF4E,4^,4.][C'_;3%IO+\87*L*EL^15KK2
MU&V9IFY)]]H476O^F$_]F6UC\\<('O';G][_\<=WSV-\-F4"6Y$^V^%X!O_O
M", HH%?S@+'IV& NII-/PP!O><5H!T=,+BXFTUF&K,O,>'>Q//T::_7L;#J9
M?SQK+NSE=#(: 8B%><&C!?UVODMFA1["E0LG:F:-79P#+])&/Y\-/\6M\K\Z
M$GG0VB&9@@:/.5ADF58H6(X=TT+;V/.8$Y>1J]Q&TV4O.VJ#C%0,*>Z]248$
M;?I6X%;FNC[_J^OQOWZY&$[+P<N&E[=PMQ;RA#T*DSP2ZE947KR9I!0+#5Q'
M =<6L8OC3'J6:=1_M2"-#2D+6._CQ2P6[G>2B4JCA5\R_^N" 'XIMQU1.<AB
MF\GI9YN)W/9=%DZ8 [\$"1<XXL8G9"6UR%GNM-<LI-BK! I<Z^# K[$")\0I
MN#DN)1!69[!3B<>8JX>V)*Q+V/@C#]_OZ8>B_0510'BS.WG-K8'1ONJ5D1?
M']XL0]\= .Y+]E8$^647S7G'G+MBU3T\L^*^;]M>!_M,.SK,5-7=& VG[2SW
M%QA9^'LVM9FNN@GV<CE6-U1XP?@8<V<#T,+1Y',$%7TW'F<>\,()/G3SCHHL
M<Z2.AN?#!<=XOE@Y?&.F\.VW739."[ F*$@(-S@18&.,#LAJ:4@T(A'7XTG5
M0G&1FX,ZRQSB"4NDD\H<XP*4G"M!;3^#O2G'^*_VR_!\?KZBPY^[5<^0/^TL
M;DMIZ=T-R?:JM'"KI?-R,-;3"$[@,'-W7B/J!05IYV"1)D5QBE2WA??WXF)T
M";.06YR\CYUL<<J6RO-+CM/'H!E_+MIS_# )\89/E9\@="KR3U"B8;HL%[X:
MBH7>7IG [/G!?.9O+B9M+"3?#[[YZ3K2WZ]W9SD.@$E*>DY-0,H0DI?(/-+:
MPJ=D:"+6.1Q[;;<V=F(W 9@?AZV?S,>SGZ>3\U^+I2P>PM)=^'&+($..P3,(
MB_<M+F>?<K\8O *O38HV]T]>?IO5]74S+,UQ<L@#D=9TG<U[,KT<-#_<PNU=
M3K C/^^:;734^[??>16X+<#H2N5+*JY=X$P^]/N1]7^A]_YL,@)U+&S_':RL
MNA)E_O/Q+(-31@@[GYU-IJ412'YSF-&2]UI6D@'VY*=N 7O*-XW-P@&O ,[A
M$,X_8=3X\8JG>G8W?^6UYL+[>K3K#:'",!P)JH4<NO 0$98^@ML$T&:,!U3S
MQ&DGB<"\5R052>#"$)V]K$PO;PC2D7+$>!0F4>NT(8^IZEVY1"6&648W8!GO
MK.J5UY*SLA^N V+E^M(VCE_]VWAR<+#*4-/.]^X(+2'A"FLR] V:-3UI[V*%
MO&J3M9+:5?NT%]HQRP8:B P&)9,W55H+UMSF3S0R3A51V/4R QMY #O4%7&/
M9<<#<G!M:>"84;';N;U@EL"L/:5EX=&$FT%IFH02B(><)0H>PLV0!&)!J4 T
MXR*2'<I"M[!UIS#<OK)U)0:__/;S?6$D?:W%W5LA#HM@^WZ*:R[3K2M7_Z-I
MCF@;V.WOV+O=0Q>Q\LOE3C9^9%L0G@O[,:(QN*G+<UY=;W0SBE]0&$Z[(#:W
MJ)B?C]^"LPZQ[N6;_.O;"QMR:FJ-96G8/<YB)TGWQ7_-VQE$T,N[E%,1&*FW
M;O(EOV+NMK&B:_IRF&**ITG=0V<DYW36!+ LE:[$[FRU#Z=,3+>YQB9XV#=V
M]-E>MHO&#NMSM)R !9_S;:-_D$%>B/E2 B_67O/V5DKD,<M06!D*L)TK5(4"
M_*6YI6 4B#K,++<DE9:"3V^EE#/RPUGI(_AN'')?0!C%O%(2VQRCCR:YG>N3
MFB,1_0S6C.^2YM\FL]@05D+LY3B52/;:2#TR2B7T&8S(PU?1?YN,T9\Q!_[9
M47^?4_3%_\G#]-.7X:S)#5%/N/-;3G_DCF[3U1A ./<7>"P^]VI;K&@W[6I<
MKGJT#=NK9F[#\:J9V_4,<)=7A-^ZR"9??SZV\U#6-W)CQISM*9\*]U_)]C@[
M*K=JSV*<=0F:]MJ\Q#POI1OKY[C>4F[8W6T:1_%39H6;7,2\U@SW7*:50NX
MM5"$X2;/UL[@KWQ^=I 7U\\K_H<5D%W7UFRANUXPRH$C#_".-9@$DAAR5AC
M>$R4Y,[&_KZ'QYB$TAW^JK7>5RS#OR\E^,^%W/S9M?3],%EI/YR2=;^H_HMO
ML =7;3O+L6@YN.CYN*9X:TV1[]#4]J#MZW8:.)U>'SNA!NK>WG#W];F[KP\:
M90,JGV^OM!= 2G+,%=5'Q/U\%'L-=MS1Z %N<>VKM4T.CXI6%:UV@E8GUJ'M
M0>/W[2_;:>]9FZQM#FR%PMYOG9SH6&C1GCCBWR]2'A!7_1A]5]'-2%D:?E"+
MA6>W(Z[NC>R)T :K]"<E$GM82Y;2:JM3RD3VF7R#4F2]#DAAJP.6VEO=K\%1
MBF 9?.8HDHA[[9&QU" 329()VQ2\OYZ$NBV+1#:C8NZM%HN[BXZ?JQ8<A\/]
M"+M4WF>8T\-P50Y7W=!0K2>&RG76+XQO9J2>A1U[MU@$F$V6*?>3A*IJO;:H
MM\]:$O91#D\2\2$ZY"S\P6.02#/*$4W)".))\*K784 3[J5A&A&F(EBNO'(B
MB4!14J9Y\,(K>LUH+13WITYI?T]+(U:,5VTC<)RV:X.8JMJN.V=HL</C04G-
M9X=3QV>Q#MXR\0AMVJ.2<P>4INUFY^ZL,]ZM716)2T4T!AM)P*YBEI #6XL4
M24PY1H+&/9KU1]O5!:A<&=3X2(O:PB3 IP.'A4?0K'.;"90[<\!'1;Q^+(FI
M[>4V.^J*16+S06V8JZ%]CFYQ36SNV99A12 *M QAJ\&6>1IS=9U'C$ONM!:,
MDEZ,&#BQBDF,F&$8<1D5<A!1H.AT#BP#)E[O++%9@\,:'#XG(U83FR_'>M7$
MYIZ,EM9)Q^3@-BX;($61I6"%8F2<<>.C,GV>C\ <T4$CS0)#/"J'M,("86(]
M?..<E*(F-H]'!^JBW.%M5TULUL1F36P>C=6STF+C!(HX&,134L@X!_&:2<RF
MY'"@_LE6[\EIQX/:NR/--CZ[>.YE)AEO99^J-N_4HK2:8]Q[N"8$T98A2I0'
MP\4E,CXX9!(-42?&DN_QO@IK->9@YV(T.%==<F2(38BQO(!&O4TVU1SC$=ND
MW>U0Z@5LSR4VJSN:]C((#][1]/(VM9W:&V^W;\U>J;]NIT7::M>:$R/<^6.2
M/\ YS1_32>:7:?[39LKEV67SP\@.ST^<:V=)\7EF0V.;CW$,[LZH^;P<@L*B
M U]D7O>+B^GD"_@VLSBZ?"9,H(]P,Z\__%U.)[=86F8]TH+9S)KKD?.4(:RU
M\=0+1?KLCX^FC7G7#?I2#A=K!5OB^;RCB8(V2G)/D$\&G&D2*+(R?\+!8WA+
M*5G/F>92,V4$1C:E3*W&.)SC*.+<:^48U83*_;W7[?REAV:QW/<-EP2JMEWU
MWX&_KZ4@"F=";U?G8QFC3LP*_ ).^_EXF,"YR8)RNIC_"]QE<AX;^W$:8T<\
M-IMT[6"N43X/6S 'F9SL\CH5]%EN:Y'/+;4'P\6P77:D^Z6O1CFIM+;PX"W:
MX;@!I86XH'T-A_O1//-/OF[<?-:,)[.UWC*O<_.S8H"O.-VRJ.;>&J-1]+-L
MA^"0"[CJY:#Y,&DR!=KK3/QT9C_%<K45 U37APWNF@W[\GK#>#O+VC5&M30<
M0[R?3UMQJ[6G00/[2%_P;N[-1Q&M&:%5DI$@ZY0$ZQ<#LDH[A"WVC#AEM1+;
MX=X<Y_BS(\#[<]C^51DWEXR;/#-NKHW.[2[M>O("\8'BYIL57V])<?"!8.R;
MKZ0U3LPF7!NSTI['CF)'6 J>3&Y TC9__C_VWG3);21)%_U]SU/ :JKF2F8,
M#O9%FKYF:I6JCF9*4AU)/6WGUU@ $<A$BP38 )C+//UUCP! ,,G<F%Q TMMF
M5$P22X2'^Q<>OJK*^'A"W')]0IGZMFM&)K/-Q,0L.\Y"QW)9*D$D O@_VUH)
M1ME$;-H2A176*.S-]TN*,O376_SW-]">BO(\:PZ6LJLWF,PK&!QL9+K@(-<\
M@%L&['7#*$YOQVDB' $,XP+#N#R%XXET+28"+LTD-1U/\KM<XT1Q9"6>RP*!
M_=/0CQN:+F=1&,LP2GW33%:*TZ^ ;=. D%](:VNMA@;1SZPTID730*@ N !^
M4&VX#EH^<O<;OS;['7?52,<>VY;S6$7'L>L_5AGRT=^]L16^M/SD5@8".[3Y
MO!J6.QJ(/;9L[S@'LJ\Z>:LR/AB#^P&*>)WMG#NWDM^YE1J@;%HTK$2F#33*
M[Q!U0+_?W^OM*8QV'Z&[H*[!AH.1A)*$'H6$?KNORQS)YR#*8)+>0JAXZ *_
M)PA[3PWU)0 C42)1>DR4GE1RF$2)1(E$B78E$B42)=J5ALA6+\@S%%O/,P3B
M'3Y+[(7D?M\XI(UWN\LA.]&F(<_+IYIF0DSD,>=3/9<1FAD/([EG#X$3 7=3
M,Q .\R+38ZX0(>/2,5D2QF9H<I?+T+X;.!%QSPM#1[ TE3Y&2@O&>6@Q,TZX
M%'X4>]PY1. $*GD[22L\G!ALFES[RTG* R$C(>/>D-'EW S,R&:1Y2?,=2R/
M15&:LL#W[-"W'1$G*X&(MF7%IN."PA98*7/A$2RV4L%,EZ>1*<W$3<0AD#$B
M8"1@)& D8-Q*'Y0 ("Y, !@Y!Y4QEC8+[2AB?FBYMN^(Q.8K*J,5Q:$M/0NC
MNFWF<M-DW 6%,PXBRPD%Y[;M'41EW%6]=D+&8<@#(2,AX]Z04:2>,#TK8@Z/
M$.6<@,5"<A8&,O9E[";<7DDFA@,S3[B(  \YW&/Y%J"IF[(X3-U4<KB''R8+
MP29D? P9!]6EXJ0,NW\EPR[M1;07O41+=Q,W"$'C=H1P04M/84N!'8DEEAE8
M(K'BE*\4[.">2$WI12SRL+(<YQ;CGHLEP7D:V!ZJ[?(@>Y%/>Q%IZ82,A(S;
M0$;+<F+;DB[C3A@R-_4"%O'$8:;I UD]:=K62N'GR.-Q&,:"!3ZB:1JGC"<F
MEM,47NR[(C#%XX49=H",!(P$C 2,!(Q; <;(M>%N@#;'MSWFFO /%Z RIC%H
M@8GC2B\,[P*C&2=I9/L>LUW?8:ZP0A::@<F\.):FC_ HTH.HC $A(R$C(2,A
MXU:BI'P9A-P+F?!\B[FV9P,RQ@DS[2CF:9S$GB]6D-%,PC1Q0FPH FCJ)9R%
MONNQ*$EE( (GXF9T"&0D8'R67;>K@WQBQ6ZH>-5@BE>EJ2=L/X6SJ(659UT_
M89&;2.8XH'79MN^# K9JJK.YXZ22V;&,F!LG)N/<PKZS<2+L,.51?) 8S&$6
MKX(Y"]FN?875,IOB=53.:O#EK%Q_')K1(Z6,[/&C!:\>>X(]#D+WI0]Y^3 L
MF.WSAD$%$ [M;SNK.5-^W$,$?';3,TJ4(YDBF7J0@"LU^TFN* %U&'%*E(!*
MIE4RK;[$^"%C+W:<-&56)+&;I8>UVQV/F:%KVGX0V&:TDF:51 D/;"Y8@"%*
M;H@12Y$;H'W5C],X3*/@(&E6-ME6R>E$R$C(N!5D#&/']A+79YYOA9AG%3)N
MBX#%ON/[5A*%]FH$I\53D3A^P%PO@']2(0 9)<*CZ7,SD&;H' 09R1W_/*\3
M91-0-@%IZ;07#64O<I.$RR2R61+!-N1ZJ<=BSA.,F4T\V^:FZ:ZX*.,D])R$
MITR$H<U<P24+75>R0%@RX-+S!$\.LA=1F1C2T@D9"1FWDTT0^I9OIPYS?<]E
M;B!C%MF69([MVZ'P$\LVG;O(Z"6^-(67@BH?<.9&&+P1Q1[S;(>G863%KA,0
M,@X3&=?&AJUMC;K-#I/'%'<RV$/#IG%E',/*.(B?;NY;2I'5QJ2H*FR*63VQ
MS[1Q#9=BJ]ZV.^^9-YY>:3+ZY[Q,+CG0]'2#%'^=EQB=B'V8J_OZPR@66FH]
M_:__$MI6\+9JVT17QK4L)?!1/D\!I0'NA1'?JB>^_P0_9O4E<*?NYZWZ/K^_
MS'(^,OXKDS7L*2/CD[S)DF*D^!3?\[=<=:+^AFV?EUL^ ZS)&VQ=+75OUV3"
M*]A'9K#IL+P0LIW;3\NM7R?RAHFLE&H+P2BO^31_*[)J-N&W;_#7#OT6CM@L
M5V1KC!WZBW_  3Y+;]NWJ%L9D.MM7-S@ F# 6N?1O1FVZWL]OZR\_A[.L:VE
M_4AM+\V__37J?=9;U+]?=F8DM6C:-L13F,@;/KGFMQ5&DO47KUV9IOG0NF4Y
M"/4;66UWF]G:^1.,&N]Y=7FZ"/I]#2PF,&-0<F=%E0$V B](B8"*R/8;?"KY
M!'9C]:OQ,:_FI=K)WQ?EK-!4ZQZ4X:]PYR2;PI/&1N]EQF6S>\N;&>S>$AXA
M6A4 Z [OJA;QQ6/C4U'5*OIX\83_MUJ,D0-\ RY7\DJ-KHM+QOAT8P+4QI\!
M^NHYC@^NB'G^8[V^\'+5\M0%XL^R@"6K;]5V]^&?\VPVA=^WW+7<%MQ);"=B
ML1<%>*(3+#;#A,6A%_BQ$X<BB+?1M?R/(K_X([N2XAVP7EW]]?9W65P 22^S
MY!U >_4=SR/?Y:,-RU_.-D<.&K,^5\B6*T9&+FM4IBXZLAJEO !.&BFA!1#0
M22:5\2I#L2_F%3R@>KT^C^"\SGVGDF\0C<-'P_S=QRYY-,[?' ?VB[,-MC$,
M[WG#V%>VP9.R"P[DI3QP$/29N!^W&!0]"(J=3.+!(*A),D@R.#09W'.BPB H
M.M3$A81"HM:0^W-1UI?&.W5TY105=:*^_TV=GC]3$,!F00"F[WBAPU-F)F;*
M7*SZPF5L,C<THS04GI7X*TD,<9!P*W4M9@:VS5QI!RRTL6&,:P:.:P6!&Z\4
M_OY<Y,F\+&$HVOZSY/C_V[=?.[^_TW?[,^>QO(61Z80GY_H?3@0,P2'!X3G!
M82)$F$0\9C&/  2%M."3]%C$W3#@TC(EC^["H2LBU_< 0ITT< $XTX!Q[J<L
M$DY@"S<(1&KM#0[MR",XI#2%_>CD[ZJ,&W_R)$NSQ'CU[L]W[U^39GZB6]%P
M=)+3WH%L:261PTUFQ@[L)DGDL5 F+O-%D'AI$"9F)%=J? >):2>AQ4"7CT$A
M-^$>+P']W(NB()4B]%)S3SM08-'V0]HX02!!X N4<!Z*A%L)L[F#527-E,6@
M>C,O\@/339/42H.5D)0PXM()$B;A ]P3^2R,7=#>H]"Q?&YQSUFI6;LC" Q/
MK[4!6<4'JH%_F&,TT,CXI%C#^,"K6L4%O4O13&Z\^O#IPSO2R?>R(1V\P-D
MMZQG^59/?%,+$T_:OLVXY:7,-=V8A2+VF!W;?B LV[1<=Z7#9I(Z)FQ=#'1_
MT.L]N(?#<Y@I'-MQI>!^N-)[>$>;FF7M6+$?0'V[ 0H082UA+6'M<['6<>U(
MQNB1C'TX0,C$82%W4Q8Z;FS;5IC*U?I#@1TZ/K=#)N+ 8ZX-,!MYL<\\%Q#8
MM;DGK968]EUAK;WC$\2)8RW9^;=\ROCS_I0#.EOL?[^SQS9*K"CFF*YPP!UO
M*.[IIY#G;#8_SW(#VTDB9@L)AP8A).-^BB7U'&'RU(ZM="6BQ^,\-%V!74'1
M[0U'$199Z-%V+">0=L)3OM(+;W<N;/O^3BR[EZ93V #IL$'@2^![D'!*-Y2!
M:04L,6V'N6:8LCBP39985F2&;N %B;=BY0D"R_2%\G3XS$4#3\3MB$722OW4
MQ+JH*]7F=@:^GKGC>J<G#[[/*+.T]ENX=<#9SKLJ$[(N)W<;Z>VQYSNF[R6,
M.Z9DKB\"T(;B@%D1:$F^Y:=<K)1_W"2]_:N\DOE<_E86T_<%)O$G]=^S^K(M
MY/J$Q/;[E] *CZ#.P?UY&[4T+&]L-!3:<OF"&/O;QZ#>!F9J X*Z#@!N&L&J
M)8$I32]*O60;Z_MK5O&+BU)>J.H,7])F-D^M6K W^=QI$:@%#:0P2DV!:E%>
M8-_M$I]>SF"P\'B>A0J<<!P]EO\?CH.7E@B(QL[+VR*^N-9!, ZCI?]YAQ^3
M98Y=;VE0+WR@,SXPF095W&$_+=^HOL/!<\O]+K>\@="F]MR*ZXU2SQ^H<51*
MN;ZBY%,8\3["=T=)RE(GB2:)WJ=$?[NO0BS)\R"K3E!#;6K^>^@:.R<(@]1'
MFT2)1&E;HD2MLTF42)1H5R)1(E$:CBC1KK2_#%!Q0G;ZW3+F7V^-3[S\(6OC
M=R#C[ V9_[:%<^?GTJ$9G\2,B<-IQJ<]8^)PFO%ISY@X_&QF3"FLVRZ4@P>+
M69E5\BE,1AFK&Z=Y#.5,_?39;RTA:I4C3CS9R8K3*/(<9OM!S%Q+A"P67LQ"
M*_"DG=K2-E?*+%B19PON<A9Y9LA<QPM9F*8FBUUA>D%B2;%:9N&1W(H/JH=J
MEE]@*A3\G_C.;[95RFWD6[NJIWPX0=DU,!!B'@DC$&+N&3&=4#J6+P4+$F$!
M8MHVXT$<,2OT$\=R7!X'J]EHJ1,Z?A0P+W1=YL:AC=7H)8L=TS--._1-;- Z
M%,0,1HZ_J^HUA)@'E0^"3(+,_4.FE08V%PA_D2T!,F4$^J7DS/4BX=N.:Z:Q
MLZ)DQMQT33< _3+V\)^ 1;&,F<5M)XRL.!2Q/1S(M(*1&[F$F:1E$F029&ZC
MU*SIF&8"&&D*-P'X$Q[C4>HSS[&#Q#5%*H1_%S+3-$E";MG,C3C^8T4 F8')
M I/;W/2M1,0K38P.")G>*#0=@LR=!-F0]7B%W,#>%9:=H#WJ1/>HX2@KI[TU
MA3SV9)CXS'&$PUP[=6%KBAQF6:$OS 3VIT2LU,?RN(R]$"Z2/MS#[83%MF\Q
M2_B6%P3"DN: 3,;N*+1W54*+Y(. DACA+( 2M'1')G;(?,?%1J069P";$8M]
MX;EIP./$7VD#Y\:)E+$5,]O%$N:@Z;/(3R) 6#-VN0EJO#\@2[$_LL*(@/(4
MY8.0DCAA;TB9@G+HI*G-/&F%S/4"DT6!)9A(N05JH@@L:P4ID\ /K2 ,F&D)
MSMPD35@D0\XB)XAYZ(K ]P>D4H8C9V=-[DD^2*4D1C@+H(RLQ+9#UV*IX\ Y
MVA,(E+:'=MX4 -/W "Q7@@_<U(/7)RP,I<_<*$Y!I4P=EIBA9T6A:PMGI0/9
M <W"ULBQ=]6G[/@%A(**MVP6?C>'=Q9U=D5!Q7O9G Z>93[ [8O:OBU. H[M
MFHX3L3CB%G.Y$S/N^YQ)$3M^[*C6#"N=;Y+03.'\P$S?$<R5V#<:F^?$46AY
M=N@YEN\/:(,;!:Z]V_UM &4)!BAE!,@$R 3(SP9D+XG<R$^8XP8)G!ZP^88
M5!;"='WAA%X@5[KA)&D2"\LSF26Q3W(L4X1SP7CDIK[C>Z$51\,!9'MD!SM.
M$"% 'NZIG1#Y&'B%$'F1@&+:5BQBP7Q3>* BNSZ+$]]EL66!)AQ'7I2L)*!(
MR^'2\Y4KTF:N'P$8BR1D@>FYB1VF:2 'A,C.R MW'!E(B$PJ,@$R ?(V -F.
M 2]<&3,'$ZE=Z0 6!RYG#NC)26B[EFFN=.L5=NR'@1."1BT#^,?A+.:@6\=F
M$%AQ$EM*K1X*('LCT.8)D"F<>SAV^^]%S2=&!<Q<T2:X_TV06BAO0)ZSV1&#
M-/9B6_HL"CP\HL0VX["Q,6D&@@>.S:43K&0OP6YIA2)DH0HKET',0CB>,-/B
M">ZDL>\/:$>T8$L,=YSP>?)ME@F@": )H \2FAYYW+$BA\4VGD%BWV9A:KN
MN+YIF8#.7KQB0TH=X;JF"Q>9L<",_(1Q%VZ4L1"NY;G<<@84<(GII<Y>SRP$
MT&38)X0FA-Y2I&<:AI8?AXS+R&2NB5&;J4A8:OEI8H,B'0;A2J2GYWC"B5QF
M6W"YF\8QXZ$;LLA.7"^P RN4 T)H.QJYNZ[,1PA-*C0!- 'T+@#:=ZS$%1Z3
MB1]BY52+A3R2S)*V%X>>[5M6?!>@[=B-8^D*%B-*NQX'> \"F\6)*SE/T\A+
M!U34RL'(&+)Q[,;POXT6OD]JD'0@8_^!B\F?R0;WY'8"PX#EX3 %$8$D@YB"
MB'".1"#1(*X@(I!H$%?L.FYKRT>YPZ6O[[S7[>^RN("G7-Y2HUMJ(4<MY,Y[
MQL3A-./3GC%Q.,WXM&=,''XV,Z::5%O.;?E<E/6E\6XJ2Y@817Z<:,W$H41U
M#,.*LX>(#9^;7FR:-K/<,&*N3#@&7CC,%SR&WRSNBI4V9*;CA%XH;!994C(7
M<^9#;L7,,</0#3U\(!].Q$8T<AQJ7$"(28A)B+F5S'8_,D,W29E4G1AMUV.Q
M9SHL=7S;<WQ'1G(ECR\)(\_#XMU>8IO,387)>!*Z3 9F+-T@"H4WH&I\T<BE
MNMR4_T&029"Y'<B4061;7@*@Y]JH9*8I"\/ 8C&7D1"NZ496LE+ U/4\1[H1
M2P-L?Q D#N-6$+! >$*D$7<BZ0P',BW0,GVJT$U:)D$F0>962HPFOK!=CO63
M?,%<*PX83[&Q2V!&<%X706"O=G^)3,G-P&6A90LLHA2S,$;<C,U NKXM.-XS
M(,CT39\@DXHC[<> _/XRR[GQ*LL;CC;^=P'__"?^PW-A?.?9-<]?TPYVHCO8
M<%29T]ZXG#B./1G8H+<GN GY-N. \_!G[+K2"I.4KW3C,:7@OL4%BP+N,C>T
M'18Y;@@[GC3#( J\-!F0KN^-G(@,R@24!)0$E"\ 2AX[9AH'DJ6I!4#)(Y]%
MPHY9% HGD:'IRW1%PP<XY+;OI8R;'#UODK/8"SR6V*#A.X$?Q&DZ'*#T1Z9'
MG7!/4CX(*8D3]H:4KAGYCNU&S!0.MDX) /7BF#//32.?VX')G948A="V3=>R
M(F9' :!KR-$,D@;,D:YMF5(F@3^@JA+A*#!W7)?MK.6#5$IBA#, RC".?-,V
MX<3M.3YS 3=9Z#HQ W72YZ CND&P<O9.I @\V^+,MY.$N5X<,2ZERX2;A('E
M^VGH!L,!2LL>F3;%)E#4\9Z,QE]E51M%:M27T@!R3 3M4=1<YC"[&#67Z?:Y
MQ#7#( T%2Z/4Q<Y='@L]6S _A!<XJ17(="4$STW2T++,@'$3N\3#3LGB! X1
M<>HZ;FCYD2GCX>QS+K66H2,#P?& 687@N(-C"]#4DG'"$I&FS)5XA$A]"S 9
M#A:^ZWJ):Z^X_+CD29+"L<-)L.IG$#,><Y=)+XP3DR<B- ?4V<1QJ/7BV1[<
M"8^/@5<(CQ=FH-1TD\BU6!!9,7.3(&1Q8"7,<\,D]4(_M-R5<.M4VBF'ZQD/
M3,G<(!8L]NV A;$3QVD@'<<:4$Z?-7*\O19A)D0F!9D F0!YP\Y22<(MP4%!
M]M*$N9:G&OJY@+"N::6V*>UD!9!!:S9EX#K,=@4&@#L>"Q/IPY^>Z=NA<,(X
M' X@PT0(CBG:>SB&>VJ%2VUB5IGJ<(E+U":FGT)O1D&48#)GA&UM(\_',$8X
MH 2I=-Q(>EZRTAR>6N&>79L8 F@": +H0P!T%$C33^V0169H ]B&DD6V;S%A
M>=).8]\RK978=&J%2P!-9GU":$+H?2"TYX(.'48N$W; F9M8*>,>!YB.;#=(
M0MN4[DJS<FJ%2PA-*C0!- 'T/FS^@>4G">?,<5, :(N[H Z'%KPU]CS?L0+3
M7(G%IU:X9P?0U KWT%VZ3GF#H]9MU+J-)(,D@R2#B$"B05Q!FP9)!DG&H;L\
M42?<9W7"A<%AN<XB-4IMZX#_)L5%GJ&Y@5KC4M,Y:CIWWC,F#J<9G_:,B<-I
MQJ<]8^+PLYDQ%:G:<J[+GV4AYDE=J3X&E2ROL@3&5I<\KU)9EE(8O#:X,2NR
MO#:RW*AA[!0P<J*U%H<2##(,Z\\> CV$Z4B/.S:3KIDRU_8!GX+(97[ N6]+
MX<IT-=O>#Z25.@X3CN4RUY22A1A?[9BN(P/3"FQG0,6H+'?DF=3QX"0%A#"3
M,'/_F.G&'K<3WV=!&)I8P$^P2%HF\[&4=QH(SXG=E4*U7N0&CNTSTQ=8U23B
MC'N6#XAK>KXG/5<$UJ P,XAV'+U,F$F829@Y");8 V8Z@1V&80)*(AR.F1O[
M(>-A"GIF$OJV+9,PM%:+GII^*IS09D%L(U(&)N..SYETPC"6H4RB>$!)TW8X
M,AV;,)..Y@29!)G;J#/A!8$K0I\Y22B8FYJ21=SWF)D$5N2F,K)7<S!2Q$3/
M=!DHH@"9OA_KH[DG4LM*35=8TAP.9#KFR'>HQQ:551J,J;F 69.%F2H/'E#C
MH<J#W0[H2S?TI0/0)F.'N8XRFD0)"YW(<[DKA)NN&%H\Q[0BX4@6F"D<-)PT
M93SV4^9[:1(Z0GJQ.Z0FD\&.+=,G7GF0X)C@F.!X3W#,/8<'EN>P6'+.W"")
M610Y#I.^L/S4];AT5@K?A3*U(U.BT<:WX1[78=R'XXP,4SC=Q*$IH@$EA5LC
MT]EKT0X"Y"$=Z@F1CX%7")$7O6L\,[7CU&56G "ZAJ#LAIX?,,<1J16F<<R#
ME>@-4UH1=L=DCADZ:%82+(S#F*$7,G;LT(H2.21$=D+J7D,J,@'R<%F% 'EA
ML7"DF_B@&*<6EA&U;<E"WTV8&<51F@8V]WFT LBA3 (1)8Q'+H:&V!Z+3-=C
M3N#YCAG[CI.((0&R3RHR19 /R:Q/W1*HDN"0/-142;!O-.)V F>*D$7<D<SU
M?#ANV%PP.S0M:4GNN?'*CDC=$LZNDB !- $T ?0A #JP ^[Z4C!A2H^Y9N2P
MT/1LQGD<I$X2VD*NAAE1MP0":#+L$T(30N\!H4T[]L-4!,SA +1N%+LL\F.?
M.:9CIV$<.5SZU"V!$)I4: )H NA#V#AD&ED>Z+].RD$=CMV415YJ@F(<<.G8
MCBNC%3<L=4LX.X#N&_[A,X>)#:DXSN+=+YJP9I'/<V#(+(&_17;UI%GZ=UZ\
M)P_#)K-NY-"XD+DL>2V%D8)(&O6E-/X&T@9_?ZOAZ\JXYI71$F=?@_MYW0L?
M?=HS4'!Y\/=A8NQ9D1F!QLD=[  ?6(")8>HQ._0BR[32,'16E%8O]7TGE#'S
M,-G)-=V(Q:GIL=2V;==U1&Q:.RTLXB]AHO<()D;C^P-3]K78!EPS0:)C1LN9
M<IJ7"-^S').%W ^9*Q+)0B>0S.)1P./4"EW7OLMI,C"Y%_&$)2:F(PN;,\ZY
M Y_\Q/9XE,9I,"1.NW_KW3NGP4@5TNU[ /5E*:4QA;\O*T/F E#V/^:Y-!QS
M9-BF[2H1@ _.R"AE-9- IBLYN1T=D6AL73%-4X=;;N2!3HJQ?C(,6>2:)C,M
MWW,3W[9L;\7YYCN!%0+@LL!#AYW-.8M2.V!I%$D_XE;HF\EP1,,B%!X&"@>F
M9_NI!SNVAWE7@6W"&<B,F.16Y"2@)?K!2JY6'+F.Y#XF-Z?PCQ59L-]+A\6^
M;R>!%P=1/" 4!E:[WT1U-C!<93?/!^%Q_X1P6F>!/S(>9Y.LOE4K,BOP:[C>
M4+:(2M?]K^=EKLX"?#8KBQM@IQJ(<B1(L?T8R32( S-QF @BV)3B0+ P$1;C
MD>.YL"?%7*SH:Q[GH>D*@!,9F8 4KLLBBZ?,<2Q0]>R$IWPEJW,=/'S%5?E>
M?)4)9GHW^>!;PH=[0O2E(ST'"RQZ)FBG 8?9>D(R6W!'RL"+3'^-=AI8IB\
M1EW39VX2)BSB=H15QE(_-7DJDI4M>-^S-<?6&C <"CIR)7FKT/2K3.0TEJ7A
M6.I;1WV;54:6X[X!<'8-],O@ 4E2SN'/22/>F:Q4\5E 7/BIF,*$;K&OQSSG
ML-W@D1]&(61>Z4\J7%59!F(^X7DBC>I2RKHZ82!L&7")9+R4P%1-<86F 4H%
M5.2U<2U+W0NE5&2_E$!T<:5H->.W4WAH=XF$340H?"WEE&<Y$GXF2\6?>'T1
MPXPY<ESS;%YV;5;^IU_586Q\AP5,UHU4O>M,$=FQ8SNQK(0YJ00]C N?\40$
MS(ZM, I-)Q*KQX1M(7*W?[Z? Y/D:^!I 4KFX_5D;//^0(^]H= 9'P/2- D<
MQ^$L#H 97)G&+!11RL(X#5QNRTB(E1SA;6UWVV0E*QB90V"E?;_PR1OGV2CX
MN&,LMAU@!I;@IC.9H/^FW=-&S9X&ZH<1K]][#%1+L.H0[C9 8Y%5-6@=]7T[
MV<C@TV*>PQFB+HX$3;8?^1(YON5SB\4NQB8&L0V;3.(S$;JQ[Z6V)T*YC8VI
M,2I\;9?YS\62?.E69&N*\_U%(O>M)^]_9UR%EWV/80FJUGHK_Y=A_#O\UT@F
MO((5G?$+R?("SFS-0X!;\>=6*B;RAHFLE&HIW\#0Y]/\+4CW;,)OW^"O;V=<
MH$FJE]&6Y6I\3<J7_N(?L(UEZ6W[%G4KD[EX&Q<W.%-XPIO.1WYSF#B=ERW,
MRNOO62+;7EHCY4'N5N:R2YA3"Z.SX'@*@WW#)]?\MGK[T[]U2]A=J1= 460]
M]0]"Y&8O:[WHLSL,^%3<[>"SX>,V+,6201BY*0M2=&V9@6 \M%+F.;Z7^&Z2
M"-M<J==BN8D?.2%#L 2%#.,&?<MCTK>=T!6)EP0K82G?YG$E_SF'M?L ,%I7
MW^%Q?YT4R8^?# D0.8-+:SA,/XV65G@8U6"EN^<FV/*YJ*5A^6-C01)#T^1T
M]://12Z?AJG[G_>N &HE[.6)TSMH),^+)D?[X2'W0X?VPY.6KGT@HU(*8$[3
M_[;_&VX 7D$;:_7?()G)O*I 5O\;OIW<5EGUW^DA-]&/WS]\,NSQ__/IW>=W
MOW_X].'S]W_]E]"V@K??C%\_?GO_MV_?/G[Y;+S[_"O\_[L__N^WC]^,+[^]
MY!2QE5$;OWW\_.[S^X_O_C#>?_G\Z\?O[2"_?OCVMS^^XQB-+W]^^/H.?_AV
M@/7?OD:@+\#GO<EJ>%7RH TE+2:3XAIM* N.4Z:EENO4'^A@R1!IL^GCOI4T
MR^&(CM[6"N,M%3\O/#G*70./_>><E_# R:U1REE1UFB(^0U.Z(9ELO]C5)?%
M?"*TT8:KF^ 5_YCGV@R!WB UIK6OP@'G1:T\&K*4==%YY6\E+QO_^'J74ZVL
M2A,UC4^=-#:,7AF_+I/H74LB.#S_UHWD/5!%M9%7UWR5U7RB/<Y?9AB6JHU(
MP!"7^!TL<7*I'".X+#S+-86*>0E/S^?PN*\KU/G/)\UG_'QF/FHE'ZASS4O!
M_BB*'\C.WSJ&. FIOE^&'Y6EAK,J9!M%HDE#HI[,-/Y59*JIY,JF"MSY36N+
MAFU]P#_Q5_AJ7FK?W(>;Y)+G%])XE]3XLQ4Y[@AM27 ,53SY"F_H7_5Z;+R;
M+,EJ@2**5MI\Z=O4@&G518GI"$:*3L$E\5@+(*,&8^[,K)07,&<U(1"J=%[/
M0=@*+8KP9:GE<]2#DEE1+>0WX=6ED0)$PB7X@'A>P2BJ"EZ!,>87M^HJ4**5
M:1@^XD5%_ ]M@E<TO_-2;40NY0/+H1RBE5S&SZMB<B6-'WEQK4<VS_7G,JM^
MP!,!&V6))-(>7AR)HFTV1>)P./(B'8NR\<5.^2W,;0XOP0'#+X@U'3&6C-_X
M\V4FKYJ1 )X"+&.P##(FD%]D:2K1LZ/C[7E^V\[X2<^3-R %&!.&O\!H)QGZ
MYV\UOC] HH_ ,L54X@I)>,5M,8>/:*+&4)_T]B%NQZ?+<@J+.$?TK0Q$>-L$
MN;X=J8_6V_8K]!VL?(=[T]TODW5?ZFWL[K<P8V"/N]\B#]W]#I8M2[(9#/SN
M+[@;YRM/K@&8Y.J3R^(?:UZH0 3HO>;IL9S@ JT,'(Y^TS67PP**;,V,VK"K
M]GM8X-Z[LWPN>[_@>N<2C?K YAIM@#OU.L'/FINK## 1-SW--"A,.GK@@=6^
M5^- (2QR^+L9OW[:WZ5QR6$(,4>>U*-XX.D3)#D\H]"[=J*=G(9>XR;Z04&$
M7@3]=US,ZU9(Y%6GM2PPJ(:'B"XDPVC60TDM!VE#P$4TZZY/6J5CM [;5D!K
MA I663.DKGKSI,!S)_[57;N *XTF'::UZ/0 4:H9''<U;;5O 1<7M4/]>>UB
MH,X)Y*CFZD4(,]S(YTJGP7"]^U".5]5\.FM@=;$#U)=%A4$N55)FL=XU_H0W
M&A\_CHR/,$S#>C=JF?$K/-OX3:/CN.5(9*K>TB19F<RG,,4<FY.4,IW (!?*
MV@.TP#4#=11!L\$]A71%DB#PX@R6P-=00-* :A]FFV0FG%;#2^UF^#!.?BI*
MB>[.$3*27E14YH&Z\"5L L5T)NM,21V.!K213,#KU*Z-SY+Y5586.3YMK'0@
M7(IN,]$[47]1<+[P;I"*9LCH9875Q/_J+3*K,;8+:0);;96APQ:WR<7Q%R]O
M9-* N3_RQC'J&')6(ZN5\I_SK-0;")_!7I(H?_"$7ZOIBT*_%J!6O6,>PQ4P
MV?E,,R>&,EUEE=2;V/UKNM!&\(21@=1=7TH%4*C^-$N);(O/R8%F6:Z]CTI"
MEP1_I"DM[[)8"WG7,)QST^6_7&$7('E]TIK[NZR\ !Y"4>#([=,,V <D^PHT
M& 5YU\#($T1BN"=7V(OQS'#.GC=H5R!$(&<"QRD5&V["0Z 0ZD@.BE^N.0PF
M*4LXK ([PLMSWJBJJ$-<Z$S)ZK8"WH9S0%%.!(Q6JGT0M@O)IQ-@]'L&PY,2
M)!A@5O=LPH<"A7](?*DZI'.0(C@RX^ZHIZ8$J9V"$GL<Z$3>+#\89&(RD3 G
M-?J9Q,T-4;W!$OV21N$&\)\JD^ABD!4L*)\ ,GP!C)UF^LB>*=VU>8V"335;
M^%06\XO+]D%2C/J463RS';5^ZDS'[1JX>:7%)"OT3*6:J\Z*^B%O6W*\,92A
M>@9(!B"(YA+TP^@)\#GP8H$ O(&<'Q'#?^FK1QTU6D)V)J(>"\O)9([:WK00
MP)RCCGT5W_ DP669%5F[1W_$A^92 2^<B_.+RGCUL?C^NMT)VK,7'#9J["^6
M_)!E(PII=M-?Z^;9KW[[^[O7+7<KB=!J'?(1?&J/>RTK=/*H6/_;%/6-S[(&
M+OMAJ,BX GA:&._;:7V5H";!D.%%S<7OOU:O-7NU+/( >9:HT5V_1);18DJ@
M6$OT.X#JI]YUB6>GON#"7!=3[:_5@C]7!Z,\&IK'%^/I@GWKVQF>X%&;T%*'
M"G6!"B!LJS,8Q>UBC7$(?\_8;QF3.>[9H(F DJP62&07:,DT$!F!\/@?/$@V
M@]4+6,,L<7]-%C-][H)A&!CJT6T".6)& ]+O]?#_]5^LP'UK_#:1,%T-F1TL
M*&72 L61@S)]C:](LPG(>ED4*5,A8S E[W=0NBY!Y9#M*!$,IK&.8N-W.'YT
M!Z_1/82O0IL(, [H$+@02E$&G?UBTI+DM&&D/9_!IH>V4VTHND697^PP)1<(
MR*5R]B>WQJNOO[U6K%#6"H#;+H.:KHO]"+>6(H9U:Q3E5M^<\G^@/E8"(R+U
M4<F<*445:#-'Q136 L7XRX=/*,":[[@R@JE#(9\M0MKA'4] NB6,TB<0%4]K
M * M=FMD6WS!YPR>]$>6_^@D5 T"97 ":F;)+UH#V-??])2;)RB:9"A."^O5
M)TV!%KF^-)0P7GWZ_.6UNNH3:+<9;-K&-TW'_C7?X!IE0D>"7F8S-6$!YU>,
MN$15&!_0F8PRM<=V@SYUQIVKHP50N:Z THGL\0\N$*[^1,%Y#Z4J=!),\-),
M'3K42@(Q*U2TU<5PEL;XZA& 8-4H10W!;Y7&A J<YH=)573/P8&@GC/!DRP>
M0.%]*""W"].F O*&66%+X;7:#A!M0< DPCYLG!.UT<+SIBU7_ -F4W4&%0I9
M&%#(@DLA"T\Y/-O#0Y6GNW7?%P#[G_2YXZ0!M5'..O=L@A/O[)=PNH"Q9F@Y
MZQ_,^B[OU6/:_6"%,1IL LH&0TU3HJD#!@^ ^5,[U88R2(4W[MBSPU^6P>H.
MD=>B4E6#5OQ6D9/A&ZLW:(9& %\A_((J\#(G^&6W*W$_PKCCP /ZA[X;V4[@
M!K:WF'>6X]"9FOX#\T5!#6W;[P)P>@BC7V*9YMVG[CO;I'=D;0X\C;$1K8Z8
MLSB1*P?(QCYR!7Q8S"M0.VLT8RP9JO5I+%&ZX<@ /732?-3V3O4QGF<3H6],
M^'0V5PXOU2!;^?;4\>-R'N/9K@;-=SYM%=MY/"]C(!&<"^2DF#46X2]+&F.G
MA&K=4^G&$BWOLL0Q]Z8-QR.E$>MYX^ [O7791-5XU8#X/Y3F.8(CT04FUB0P
ML __A=:=4G^_/'O]5V^V_ )T?% K0+U>THG5O;I=^"1EC38/1,V+*UYW3B$8
M\F*:*RKV(O1"!6-H[48=JP7&5#!]EC+0T)RE&5J%@#N4@:AQ537)K[U36<++
M$JUXS3T)[]F+[FKT*@5W-BENX3$7DR)6Q^2&7Y:7%N@RG\VT21Y-S0O?+F9Z
M =NJC*:^C4,Y1]MQH?X-]!;7'(E8+ ]%._J;4W"GZ:$%&T__VHFDJZIU]D3]
M#& M=*THQPO3KK+/FLZ38BZ:;QH2Z@.].B^AMQ$MX1WY$8JU!4-38]JJF*T)
MKHOWZ3-B<WJYRC@>U/+^Y%&-A?NF4STCN <$:6'24&>H3K-NCM'&/]!: F\
MII2:%H F$P[Z2F\ C5J<)<UC<!G5V4;)%KQ+P-<((^J,UKWCU4=E@\(IJO4"
MOEA:K$:]OY23F=Z3Y!2(#O<J/LO*.T9//9$>,?!E^HR:7"+8U@5K/L)IS/[T
M>F&709Y#4W!>J>S !?^!\B[PN+ @[6C9NK)L0%N UQUCT\+&U#,F:8=-K:MQ
M3"6:=!1_ZG3%:S@4Y5<R0X,/5^=#96[&B"IX1$=$X$K8U[3Y"!@;?;]H3+G7
M9MP0L,=325$U9D*97ZI A'85>X?@JC%[HV\2P 6.K[/VX-R?4>-U:\Q%C2L3
MQXR94\N3XX!)Z*W21^L_4"^^!%B5H)EZSML&\<K.$-C*Q]*$F\G@P;$Y9R]4
M'CY3IC&<0EXU\29JC1L[")!CU'"8GC=^K2BGS (]6]'R88 T'])\6LVGLRUW
M>@\&7VC7..@V%9J(A9(?+>=+OIC.G+MD6UXU8B]MB"!@K<ZT,&SW,?->"%IC
M[^Y)[DB;F%O3LH8#)2W*T*RE\?M_K362MPI'C7P,.L/-(A)BU5B/.[:*:E#S
MD+6R3]8RN<P+5(7P:=VU^K&M07(QLS^^?QB!J#9C'AE_G<QE7<#./S+^^//O
M[SZK&W___.V;\>IWI4 8G_E5DQ5K?,-B1@"YTOBF$%U;)1=H!!3^#!"@PBM4
M^*NR];0^2:R*!,*G+?;H2F\LH-]1N[&,3Y^_Z >4L"V^4PE%'(&JT5,RF%0.
M9.T;TI><%9GR((BB4+"*5,S:]^&UH&K@MC'- #3SBT)OQPV% 9-3I!DL;1->
M@+;>1O^ZUJ[_LN B5F:JHJ>15Z#YE;*9"+H+$JT)*']KI;6@WKU9ZTQJ57G4
M9\NZ"6;),!(P%\C7K?JD]XXVL G??5$6UPKVE^VA2IGX].V+7GF@I7JX"KW4
M\B55J%]SH5).]<3P\FX^:T:Z& F!.H'Z0[D<3<FDA6.O=:@OV9WO0C(W,#)@
M$6O0N+(Z?2A5?C&E+_;=@DNZ8P.,VMUU#S8NV9U;].O04&'?2 &?AN0.%\>-
M9^[N"'I>R_7S7G945B 5*G9G64G'2D1JQNH4V<EAMY646"%)R:D^KMR)N>@.
M+2JV2:'.LOJZ\#VI\YF&$XU*W$CGDTFG&7>/;@E^U^_:5QXQA6)^<8'GU]9,
MT;B\@6%5[!6^6#UG,BUP+U<A2U*H]^LG+;.%JJBW".@=+?P/;21AYV"=9*GL
M_$K=.+L0C*+_S@5M-4DQ DJ=U=M=MKN_Y8Q+T*99/[18O_^:-<Y70WE)NO)3
MR@G;&@'1+8LVE'G^ Y6&7  VRPD0"4^BO+J,"S@R=T&)76B(FCQRH;O8E]MM
M6"G^_\%S. [<ZA(M*_H_[HJLMRNV=,+,;7''V=PP\ZMW[YGZ]%H'NK9_+AS/
MF3H*Z6!U;7_@%WF!UA9]O$994X8*':L*FY^*$FYY7Y5-*YL!IEE9+>W;\+K_
M_>??/G1ONV]K.7FK^B>TS3 \\153H&R7Y7/:)G8UZV[2791QU>DY"F.2$H^O
M!KH$E3L]K94%OK&(W.*NT5=L17&=8V2EH6*XYXT%5<<LJ_ 0)>M-X'NG&R]B
MXY0.J+4_K<[['_ ^_3EHU,F[@]%A%@MT3O0(,09365G;2%Z,QLSEI,U[PW!;
M@%S\1;LB%\:?D2%@1+(]_S,\4;/6&"!D@G#=/?9#+_SKW6+_P9>\7SY>:>!O
M([X5<FFOQ1RU[65C@Z,T=?RYUC%LK>^X]8(TP?%*JB_Y)&V-%$;%KQ?'.64,
MR-8-]IX!OL/*? "H5U('H/2L(?VWC)K$0<T&6GNXE%PHO,4GJ$ .M,^))<59
M8,2>RGKH-@^X _=B-#]7N)U5M2;-# -VX9P(6[?2B%?6_1((%*.N+[7^WT+N
M(J1"+@QSHU83[\8,$@2*01:7JG,$C$UM!;#WMJQSJR(L)GK5=$6JQN$DVKU&
MWLA$0W7#20M+8CN:+,\P%D*E#.F@Q@: T;:3PLCP>*V.C7J \%8X &$60<,;
MN>#]-[16VR;S (2ZK8>+AQ(\46!EQVX'Z,0ZFZ*4K400D=/^D$Y[CYSVIQ[Q
MWF2?&.]4<@]NA&@E^]*E\C1IQ">M:]S=]=2AXXYVWZ1.5'-ME('3J43OP@R0
MKU*!;I,N3V2A;TR753>N0CR+68&>5DPP7<HF&1ER!OL47@BH)75R(< BUTFN
M69Y.&J3->U:IF3:X+_:K%FYQ<T1OGG;%Z03)A2]MH=.H*,Y%K'ES5NQ^;JQ9
MK:^I.RWC[L/1?G69S1IK9A?EVN[6)\TT7QYG$A7UUG *KD'#'ZV7>J')XI9>
MU5W2(-)0[Y:CNTO:4%GI/GB),F=HMY2* ^B2(!9,N(CY[V<"+,?_:WV):\\,
M&D0GJJ9RJ9Q.S<[>'<-G2LM$S7AT)XQPX>JZ,VSMY,/D6.7![I+K6K]6:W<I
MREFATL1ZQ_9>9.G"D]H9/DKE*H<I)JB,]3*A[R8CJLMU"J,V+>.M>I;Z+- X
MAC&+#!8570I*[8)SK+*OJW$"3#2655@O('A67:JBX%7=7+'D !^A_01X%YWZ
MG<;73EF_[;$Y*XG5^K#*+5'.?714-S:%1JWCDRX<'?,=LZKAK08PE#VCBPO
MNQ0/MD/!*??R_73$M_+*3I:R/M5K=*[>HKC$(ENS"3=8K'H7\(F6]QS/:DW6
MMWZ0E@R,CE*U3='=V23EHRF9(J+(A+P.=]M(;GFC"N9BFJCH@4+CS&E\Y\L)
M7]I]TNUU_3"!7,><5V_)@4'<]P#WW;M3]^-#.JQ':S:Q%+'4@RS5"Y&\HVHM
M_*I-IEFG>W>X1LQ%S/40<]T]$6H'3*Z5TO:T0$Q$3/1PJTUEO4:?:MF=(+33
M8Y%>NY+6*WC-58B(BOI<<FH3PQ'#/<9P"\N7#E)O8[Q4_2!^H;-JE@JCZ>,O
M[W;1I8,!L1RQW,.*O0IM:3U?:&;3M3MR8Z+R78&I&J,*'BX;GE3@AH"&S$<<
M1ASV"*CU5+'&2(SQ5;>+LB_&3$4UJS*X735#GOQSGFE#_KT1EJ=E7%\RHBX\
M'SH\:-)9)2NTT<:WK7&QM?J4*L1 VS.UK6BJ8@DE:TOL]@S5RN389C%H$^::
MZG;W6SUU:3RT],?MIJ7MR_K)K='_6B[58VO"WW#&H%B-.I] YQ%J$69-",S(
M4!4>IEAR1,VN<1MA'DP#2Y@ECV;@V;S6%;T6/J<LKUJ7O/+I7\O)I/%&I*"@
M*4,Y>O47=8IT/%[1C+WG)U.#;B=XR86*UF[)K@W(W3:>-]$!ZR@HM/= Q7(\
MV$[XM#U*?]?),CRY7%2AY,C71I?UT'<!%"J>%7M094WZ#?H_5(B&8L<91A#U
M;U"5#'7X29>PI/@20'49CAI#EEYX77H:/3VWBW$]4OMUX0HU+E2(%OH]X+I)
M+X-)B156XJ@QF'U-1<2V(.(S*WAK_UA;:[%5!N\O:KU)C;NC#BC\!BR%6@X@
MP$G+TY>U;L!%?6?@'Q4&IG%-YOT*H'VYJ1IZJ:CQUM7U;H+I=!>734U)K"NC
M$H:UW^N';(+"FATK^Y\V#'WA_L+DGR9.6OL8VV!V%3/7"[=3B* JKG<1LQ@.
MI@2MN0PQ5+8AC'_,<[@6E^3_PDWCKA*\"L4%(6X?W=N/FB"W10'<CEQ=S>9^
M%=&V#+P*#D\S['NG!]AX(+&X&J]1H=;;8U.(.Y9-X>>TI8O1<XNJZ+EB8?Q,
M;C'$GP+"AA00YE- V*D'A/TGZ _ONQ*>JGT$5N]:UTU"5^];[3]Q/!OJLRCV
MC!T6 ?ZD]]:_RUZ9FR9KH^M^VU:,ELU.=R> J E8;EKB=C>I*+-9UE1(5;%K
MJ=X FU.2[IT+3YEF&.-\411"G6W:%%9UH.H" 72=L29.1NUB3>UL'6>MTJU$
M:\_&?$T5CU/K>BMX1M<%'-NV YVBJO<^U*U7!J FMCBC+J;8;FE- $TS0]4$
M.%7)_FWMZ:(?X#1JH_ :LR86I-:[?DNRY@TZ=[7,U-&KJ2&/^LP4BS:TU=>Z
M16JS&I86BX.:OFBST*:)Z22L4;\^15OT4L=>=*3O'23[!3K6<X2*_$+O@.I>
M<43Z]X[@XGVA\_Y^5PSU#9Y^TMBA,_OUE+4,53#EN^*I?]>2HZ(<=63<Z$[9
MH%Y1R5ZT3Q<^UV4FJI(:C>:\'$78-X%4NL(LUI_5DMX*RT(^FBR?!?IUQ6O6
MQ4*NQ$[RV];V@]_W"]*^_]0DS:RA3=N.H1-B)4\+Z=,EEU;$;NTP8?NNT&LW
MZ5G!.I+WH_:4B*I<(A+114#\A\94>-(BNGQT[FJ\J'9A>/A2=:G:#"PL99=@
M6I%*9WN#1T<X"Z(]4]4#[:);1KT 4AUYH/:3]BBHPTZQU)7*4L*JY$H<5.YH
M5?=BUU4FLAH2'KWO\/-H$5FK^1U>RG4UL]8,#+MC+F'"[0UQD>O*9DJ.ZB+Y
MT9214BTJ\DKI".->4L2"(+BS=B6I)Y,B4>9E5%0PW:R1L*;(5(DULUKW>5?)
M5]5;:TOT:MM5U[&A%_*C&E@UCU\\M7=K/W]\BHGN_].]:X*!MY>((TV65=.N
M;H%\95O\JBV7M)@AH@-7)4?6S;]<J_!@<Y0.1T_#:/MTJ/C:9_]?%^R_]\;V
MQM=[!'&Q?HOMH<<^"X'JM0]:NE\Q8)L=WSVLE0-5O+GUM#0VJ5:3[#^EKTBJ
MCB5MR?&F'N"ZG?W>ERZD_#X!'K5BWY?X=;/KC4M=4!?U[6S1>*SIHC#1OP-4
MP9T-=#0]HAI8T53OB;U"N#52W+I\%M+<KR!_'YPN:* +>^OP>CSVQ(I<Z+.9
MP'#44:CQ)&*Y,50JE.@O9;[JP-;6!GDG)A'CQ1;*U5*S#=[:01OWSH-#U<D5
MDSF6?:ZE;ED#0T*3%M>5/8#6&.K!UUC^3ATWOG6;XZ=V<]P_9'Q;W:&?A18-
M"]_>\;2VV>%-HDIO]\>;N@B>/LMTS[U?HO7-6I0-8+R\<;QV)O;>,Y3;JY@V
M+5GN7M[7P_6M7:DQ;15/LW):/4*>)66@U:AU$S+ECZTN53-'Y1FMLTI-?_&8
MIGJDQB3,RE(NAQ9T5%W$*0R\;BP6/?VA#T'/AY<U.MD2LI"XKI>5WWMJZ[LE
MM77_4OO[O2KT1L)KK!?>IIH 9@M.Y 5NA)=S6"9$?=U30,=-M,F%R^/HB6*_
M6^I]6W5/-VW>Q9,$37E*:K05#,L+Z%:,R(/M63B54@G+8M_M%ZY=9-LM0CX6
MLG#_4>1^D<!3>5MNK9<+]WQI.&B[^H<Y[&!-ZH=E U <].ICCC4]7K>&@*.A
MRG:(H%I=H::HR3#"S+G] UXWBDR-HH6T2B?*-[\I&YGN@E-=-F6JX /NG%>P
M8VGO5HH5J>/;Q5VMJJJM"&L?K*J(ZP#D!)M%UEC_2G1?JS<U>^Z5S 7 9YQ-
M)F>W0VIY:<1DO&\F,;[T(_N6%A)ULPF6.U<<@A$!!:@PC;E9=Z)1<74+%0O.
M5I.V"IO$NG2R;2Y^H1J<PQ+C UL;4M, 6_-F4QQ!;S9G;TC]$UU+*K(:U0H-
M(L9W-#"=A'0\;=H-9RB[VA)GIE)T"HCJ^KITJ2XN@&Q6M?&2FC';L&)542&5
MRGL!=S3U'$?]!K>MW[/J&L?J "95HFJ2_<"4_QI86T4&Z2A/?+\JG:E+"2@W
M9--8>?5E!O8M;\.*6K'1AEPTF4RUF[B+B+IGR"JD2I4'P#&K*BOXOEYY0"26
MMFG 7<JETE"J%TS:6CNPKG#CW2U49V_L3(^U$MMN8+JT@[X=2Y[76)YR#.?P
M-6133LSD$BY3K0*Q]DL#'DOSP(*7K6GV5;\[=#^SA5_Q;*(&CP44;V.>_.C*
M*=XV78#;6;SNC%52K)_ZJ#76,O2KYEK!UO6^=(6U*?^AQX"=7Q4;Z=[*'^^$
ML.E8TL81K,QCZTG=5H#+IMI!AQ:P_]$^[75^?V4M5C%T^(RV&UL7-=?T76Z+
M&3<QG[HR2->W^7XVO9::]70A<%UG8AUGM34FL!&S9H?61;A0!O2J*EJMXQ6*
M21M23%I ,6FG'I.V-OKLI/6%[\OMPA Q51<GQ.:F]>9J:',;EMON>XT%LRG@
MOL9\ITR?"Q->+[:I>83>N/4?V-]%?VKBD+.JV8>[",!V( U8YQ)3"MKP@WZ$
M\>HM.LJJBS!><5F<@4%%K?*Z1$"LT_6V 1H< >(.#!@O9[!O%'/ ?VPC_;;+
M<QN;O[0WJ'Y"LTJ^J22L&6@#[<Q+)9CJV3_A^V$ '5JBKJIURC?M_<U%<)58
M3JMSX6UF^$N#I&LN<,:.;SWP^X._6>/0M3>]>>QN>J<Y#OW-7^N]X+V!/>CI
M_ON_U>5=;FGV1B4#J,->J 0RUN!CJOZW'A^O@4?UKOQ&[\WXQ1I1O#LJY4%)
M^*2Y2@OQ8;2<^X%A,R0  HOSG2_P#/[REY_\GQZ>>Z=WM5KR3!6FSX31;LB#
MUGE7U*(G:@48:[4V/W(S#GJ BEIL3><4N8RDBJ2J%WAQ7\XQR=33>(QT D*O
M?:"73>BUQOYEVBX!%8D/B<^FXN.0^)#XD/C0[D/B0^)#N\]0V>GYI\P$J) F
MSSEE/GJJ!(+MR<^[3P,(1AJUN3Z]\AZ_8@+P*Y425,PKGHOJ]9O-N'7-]$Z(
M,Y\'=&O'N4MJ*$??@'8Y(@!) S$#$8"D@9B!"$#20,QPI@38W&_XQ,.;FEFF
MD@C>6"X\<>U4'CGB]2/QU$/Z3S7OQ@ >^@3XM /?G?J$:UGR*;0Z']!:\Y*\
M>( D!S<2/'WF/^^&$PZ(6%L5%LL;6>&C1NXA,\8NA8"0X0@8@)!A5\@0.N8Q
M,P8A R$#(</VD<&.1J[E'3-C$#(0,A R;!\9''MD!V=_FMC<ET^6GQ>QW_N5
MVN($W+L$[H-'-0UL;W^<'B>(^='(=/Q]L-2^(K\&QE2$.X0[A#OK<,?S+,(=
MPAW"'<*=?=K%@Y$?$? 0\!#P$/#L%7BBD1\$!#P4>C58 ]SO)1:>QM8%64T[
MPHGY3(:A$IP*FOLCRPV)'0@/B $(#Q0>V$%$[$!X0 Q >("G/6L4/%Y]A/B!
M ($8X#P P1YYT?;,/T?*#X>ID[)B[SD_T\YJ?W2JED(YP)0#O#T"D#00,Q !
M2!J(&8@ ) W$#&=%@+VZ[.UP"RY[]9#C/]=]E97D9:);B MY)2>%:@M-UCBR
MQI$U[OY,QY%E;2_KY6S9@?#@S!G@5/  C?-4+(7P@!B \* )Y]EB5NS9L@/A
MP9DSP*G@@3<RG;,/[]MK810R\MPIB:LL/#"*'Q+=^(37A->$UP^<YQSW[/&:
M\( 8@/"@Q0.32EX2'A #$![@D]V19YY],#;A 3$ X4%CW[&"[14%.E)VH"">
M0]7=D+DL^419>+B J[*JQFR-*TFP3;!-L/U0&$](53@(#X@!" \T'G@1N>T)
M#X@!" ]T&(]%G8X(#X@!" \4C8*1$YZ]6YC"> YDYOE>U'QB%"N5. BT-P"R
MIOZQ&OZ: M)4FWM#8E'I[E4BAR/?<S:E<5>-FTI[$ZP1K!&L#0C6W,<[H1"L
M$:P1K!&L'0^L6?XH]![U"A*N$:X1KA&N'1&N!2,O>M1Z2;BV$Q,H=9C:"@__
M@0VFTK*8MF;0(B?S)_FLR&=U/XU>V2/ON'.7ELGQ])F_)F0@9"!D> @9;,L^
M9GX@9"!D(&38 3)X(\LYZNY3A R$#(0,.T$&TR2=X2"Q<&0(ZO6CJB]E:;S*
M\J28RM=M*!R!]R[!^RR<#.1%>.S0N+T$J8%Z"$AW)/@A^!DH_&S/DDWH0^A#
MZ$/H\QST\;?7Y('@A^"'X(?@YSGP8VTO^?0<X(?"M X9IA7+M"BEH4UT1LUO
M*%.5G"OD7'DX(,,-CKJ^ &F/A R$#+L)U3KN@M.$#(0,A R["<@(*%2+D(&0
M@9!A&1G<410^6G9FR/Q H5JG8 SZV!F VC MXU4L<PE7$823TX"<!KL5ORW&
M\0_49S ,M8% AT"'0*>S5YTZZ-"IE="'T&>@Z&.9%*1.^$/X0_AS$/P)3SY*
M=!L<1=%9!S+(?9:U,2DJBL;:XTY@CVT475',XXD\Y%ZPJ=[P\\XVA?6D.<%M
M 2MQ6=MSR#Q(15)-"9 (D B0'H\JVU5")0$2 1(!$@'2<T-6_.TUY"9 (D B
M0") >EETK4]'MLTB[>"_'&:F/NY[0O>O^^+=+\ 9FM)!IK3RNN=,3C'C.K,N
MG]=%*YHXEBR_P*'CY6S";XMY#8^_D>*M?I5EFF/SE_8&D)P)GU7R325GO.2U
M;&F@P$D_^Z>[9NZKK,KB;)+5MV_:^]?8K_7K7'B;&?[R]J=_N^<">QRYU@._
M/_@;8)#K;'KSIK]98SMTS,7_-G[0V+(W'X-E'\G$-W>4K!.OIWI/SEUK/-OY
M P_A+W_YR?_I85H\R[=[.&H]52&\UB(5%Q/Q#&)^ORRE-*;P]V5ER%Q(8?S'
M/)>&8XXVX["G>'P'0==A2.$!3QHDAL,1PV_9#0GA-GF0E(Y!PMVISK]#.YO0
M[G%BVJ;]:%8/ 1N)&XG;ML3M41LPB1LI\R1OM+T=E;R=ZOQ)W&A[&^HQN:TJ
MLL5C\MV<A8,XC;=NT:EY+:?PN3**U/C2M?LV?N4U?T/0]U+H.P>UBPA TD#2
M0-) !"!Q(&Z@S8&D@:2!,M&'DXG^C4^H*0B5\:4RO@_02(4;'S,[;)I;\ L!
M P$# 0,!PYZ X10UVV-A!4(&0H;A(@.I# 0,! Q#8(>M @-U!#F0V>=]4=7H
MU+\H"E%AP(@@W*:BM%24=J="YT7C797Z.JFRM 0[!#L$.UN#'=\<[ZI^#L'.
M4 XIA#M#YI%SQ1V+<(?4'8(=@IU]PHZU10/;"<,.A5P=R/;V>UE4E3$K"_B:
M]@/REIS6062KHN*:6[28G2TW$!R<.0.<"APXT3@@;CAB;B \.'<.V#8>1,0-
MI!X0 Q <:#@XZM"JPUAUME$-9<74<WY6G:8\2GYAR)N9S"M948442ONEM-_M
M$8"D@9B!"'#R!"!Q(&Z@S8&D@:3A<.YZ.]R"NUX]Y/@/=E]E)7F97!H\%X:0
M5W)2S+ H)AGCR!A'QK@'2AJ3ZY[@@!B X$#G/?OC1QL*$#<,F!L(#\Z= [:K
M'EACF[B!U -B ((#5 ^\L7_NW+#78BADX;E3 U>9=V 4/R0Z\0FN":X)KA^"
M:S+N$!P0 Q <*#AP27L[:FX@/#AW#MBV>K"]BD-GRPVD'IPY YP,'/B4ET'A
M.X>JMB%S6?*),N]P 5=E58V)&E>24)M0FU#[(0_=V:,VP0$Q ,&!A@.;:F\<
M-3<0'IP[!VP[OC<D;B#U@!B X$"K!V=?BH<"> YDX_E>U'QB%"L5. BS-\"Q
MIN2Q&OZ:BM%4C'M#8E&M[C4=D8+';4SWD;BKOTW%O G5"-4(U8:#:L[CIC)"
MM5,_7A&L#8V%"-9>JJP]&M5%L$;*&J$:H=H1H9K[>"H+H=I.K)_43VHK'/P'
MMI-*RV+:6D"+G"R?Y*TZL>/45D7FE>4?=P+C,C6>/O'7! P$# 0,#P"#>]Q1
MKP,#AE.WOPV9%0@9MHL, :D,I#(0,! PW 6&(R^&LE5@V&L,'%F!>OVGZDM9
M&J^R/"FF\G4; D?8O4OL/@O_ CD0'L%_<XN53 ?J'R#=D?"'\&>P^&,1_I!5
MBP"( .A0 +2]:E\$0*0 $?X0_I "-"0;'45J;2]2*Y9I44I#&^J,FM]0GBIY
M6$[MF++U:*VCKB=+VB,! P'#+H#!.>ZJ(P,#!K)K$3*<"C($Q]U?<&#(0"H#
M <.) (-WW(V(*5KK%"Q!'SOK3QNI9;R*92[A*D)P<AF0RV"WXG<&'LMAJ V$
M.H0ZA#H+1^7V<@L'"CL#.[>218L B "((K7(<$;X0_AS:/PY _C9!DM1?-:!
MK'*?96U,BHKBL?:X%=AC&T57%/-X(FDSN)<B)[@=8%R7OQ^V.DJ-]!?"(<(A
MPJ$C"R,C'"+;' $1 =&&"A$!$2E$A$.$0X<.DMM>L^\SP:'6:@?_Y3 U]7'?
M,[I_W1?O?H$X/7%*5GCG-2_&R:=R][6VDL;%1&P^[??%=,;+K"IRHTB-^E(:
MWR]+*0V>"^-;=F-\@BLO*^-#+J0P_F.>2\,Q1X9MVJZZ!#XX1DNT[4WB+DT?
MD6!13":\K(PLAQD4\PI&5KW>[U*^Q%S[K(74%^ +WF0UO#NYERS?^&0IV_9$
M950!T#H[/9_718O'.((LO\ !X^5LPF^+>0V/OY'BK7Z599IC\Y?VA@19:E;)
M-Y4$^>"U;&>N-B3][)_N^BVNLBJ+LTE6W[YI[U_CD-"O<^UQ%%F_O/WIW^Z[
M 'Z/'OC]H7LM<^PXX:8W']-+HW%XB(FZ4?"DFS?W;JT3G/4NKU41O#NJ@\3S
M'_ 0<#;S!9[!7_[RD^7^]/#D#QZ2L&5=YTG4TZK,5*LP<DF%V8R%!N"'WS.;
M$8 1@.T#P&S"KU7BX3&+@(K$A\1G4_%Y- 2/Q(?$A\1G+?%^-MY?\OSBT;8*
M)$(D0B1":XGW"XG0CD^;2233-'YR,/@FL=\'<="]D,1W;?\40' *U7$V]>'^
M?'(Q;5L5%LL;6>%1U\DY8-0((<,0&("085?($#I'W2*9D(&0@9!A!U&#OKN]
M;*XC8@NJ''!J #&,'>)D<,'=8G^68\*%;88)^]N-PZ0@Q >"$!^,GO/&D;]Q
M8)YO;QI?-PXVO?4(W^IL?"NPBDM1B(/=],]FOD^(0IQF0DSD>3J!,(UB&S&(
MC].0O$($7P1?Y,*F&$02'Q*?H8@/Q2"2^)#X4 PBB1")$,4@#IZE* :18A#)
M74CQ!/OU&]K1R+6\8V:,8?B1"1D(&4X+&1Q[9 <4G4S(<+P,0,BPFU@C>Q1Z
MVRNA>D2,05&(IP81P]@C3@89PBV65CXF7#BA*,25USTG'E%D5T8RX57UEY]F
M_$*RO!"RO0?&A3^W\Y_(&R:R4B9U5N08,CB?YF]%5LTF_/8-_OIVQH7(\HN>
M$3#3PVG,8OJ+?\RK.DMOV[>H6YG,Q=NXN,$I8N1C9TV\&;:E]64K8H=+7 C$
M;O[%E;GLC(IJ8;2ED*<PV#=\<LUOJR9HK[]&[0(HBJRG_D&(W+!YRX&SWC3W
M+U\O6]LGF#*-M"A5A=SZ_K)RNC*ND DL:P7?_VR.?0->,,FPP&YIN&/K%R-1
M-7?AU[I0SZOX5!HS66:%T"5LX2_XHS1N)2_'QOLBK^9361I D!^RALMQ,+UW
M6&.W>P<\\F=W''9_/WG,:5E,C9_]L=W=*N8EL-/C(QSA9Q@;D!'ND3@$(:=8
M';@JTCJ7565<9_6E4<Q+(U%QTOA;7!9<Q/BI@ ?SNBBKL?%N#DM=U-F5O'>R
M?8+B9*UQL.ED[;&SP61%"</+C?C6D#<)3B[+X6\8_RTL;-G@J)'!$L,G>"1.
M6\\"AJL$O9D:1^[*N9$ <!:POC#_#PA:\++JSORSO+?8SM+\PQX]GCG_8*/Y
MKRQV<LGS7$[ZLR_25>+ HU2U:%QR?.:$S_/D$B_-0>1G92'F26U,,F"8\?.K
M%A\MF%3W18>N0(D]COI0 BK>]J'$&9MWN,M9X:Y'1JQYR[*VPUP[1!+K#I(X
M:R3I27/U-@#-P\-(L RCP=C;<*6]WG;SY.D/$T5.K +\^Z*JD32_%X6HC&_P
M="H'/]1,+'_LF!N7>W^X0+JY<8;1YIE)87B E_J'>*EC.Y2$-5B;Y]G,ETK!
M4RGXH07&$8 1@%$4+Z5AD?B0^!Q<?"@-B\2'Q(?2L$B$2(0H#6OP+$5I6%N*
M!6N= !?*"5 M.P$H>/(4@B<IOGHGDA.-3.>HB[P.(ZB6@(& X=2 P?..NLHK
M 0,! P'#]H'AE7?<.=R4CT4 ,:0=XG1P87S4&=R4CW56L8A4%?[@;Z6J\">Z
MZ9_-?*DJ/%6%'Y:#B."+X(N\V12.2.)#XG-P\:%P1!(?$A\*1R01(A&B<,3!
MLQ2%(U(XXJ%Y\-2]111<\"!YK&#D1Q1V1,APO Q R+ ;9(A&?A <,V,0,A R
M$#+L(/#(&D7A4><P4$@B0<20]HC3009S?-2'"8I)W"@F\;1JZ:Y:DS:LTNWU
M2^MZ8W>#TKKWCN0Y)7[-_CA01)\]D._P-SQ2E4!50X!UNFRNKXQK6<K5XJM=
M;5R\B^JF_EX6567\61;P-55,'6J4LC<V=U(QU;(.4S+5#6US\;^=O.21\JF'
MF+7UQ)=2N!]YBRE:^5#NXNV53Z5X90(P C *=Z%XY4&S$XD/B0_%*Y/XD/A0
MO#*)$(G0H46(XI5W'J\,5$@3BE=>ZPN8W?4%4$C!*8044-313F3&'UEN>,Q\
M,8Q0$P(& H93 P8[B(Z9+P@8"!@(&'81C>B<9S B <2) <0P=HB3P06;@I2W
M$4) 1IU[C3K&JYDL45[XA<0 7A4+2[A,N$RX?#^-7'-\EH7NU\(RX<(1<P+A
MPC9QP8G&1YV'3KAP*%_WT<G-WI&3J$+"=*2P.@P&.)5-UAP?M7-UJWOLV>1M
M'VN6ICUVHN"19C(OZ+#RQ%XGZQN[;)JV>,#WVIN_U]GXO:JG##65&>[>?S;S
MI31-:BJS2R8C^"+XHAA_2M(\#G8B\2'QH21-$A\2'TK2)!$B$3JT"%&2)B5I
M'CR>CYR')^8\I)2+G<B,98V"Q\_;0V:,87B5"1D(&4X,&>R1%QUU&!\A R$#
M(</VD>%5&#QJ8CQ%MJ!TH%,#B&'L$">#"_[XJ,LZ4)KFX,TZE*9)N$RX_/QT
MK+/$94K'(EP@7'@0%\QCY@;"A4-YNX].;@:<D$A4.2=A.@)8'08#G,HF:Y+N
M?7YIFJ?57G?) +-98UVKW]#6'EN_C)[7T'9DB#*[DKD1WQJ3XEJ6VO(S-I;&
MQBN#&VL,1$\?=):W@X87A:81\RJ#QQ=97E>;M.!MGV=<\ZK?<+>;S"4 $,P&
M4VRG10W?&CP7AL(^N!QNU'Q0;=".]]@Y[.D-DP%C^_SECZ-G]DO>$GL],N(E
MYHH&S%PBNS*2":^JO_PT@XFRO!"R72W@"ORYY;Z)O&$B*V52 _$Q$7P^S=^*
MK)I-^.T;_/7MC N1Y1>]B,XL5XS0&,/U%_^85W66WK9O4;<R(.+;N+A!EL)\
M]BXT]&;88;/K)6#E]??(@KVL+P"QFW]Q92X[5X):&.T?X"D,]@V?7//;JLG
M[J]1NP"*(NNI?Q B-R#3;J"SWC3/K]GX%Q!U7L,"&!]N9C*O9$4MQP=<S")\
MI);%"TH[O*"BQ/F\U=GX5BQB034L!FL8.9OY4@T+:C6^6S;;!X ]"E@'"D Y
M(%:=@1%[B_F/@Z#6,1>T& 0!2=Q(W 8D;CLL@#$( I*XD;@-1=QV7S!C$$0D
MD2.1&XK([;[ QB"(.*"#\3,+;JBI9;E 1Y;EPA,W2=7H&\350_I/->^:XH\B
MD^.KK"0ODTOEAA3R2DZ*V11^HA"R$PLAH\3;W01LCRS+/V:^&$9H(0$# <-I
M 0.6ZCCJ5 X"!@(& H;M X-GD[Y L$ ,0&B@72/CLRS<<YCZ'&0%NJ<]C8J9
M1Q,0C.*'Q*!7PFW";<+M!XYWCGO4683#8 ?"@S-G@!/" ],C=B \( 8@/( G
MNU3 G<" &(#  )]L4<$1BO0YM(WG=YG+DD^4E8<+N"JK:LQOOGHT:(W0^\@$
MEM![RR$^84CL0'A #$!XH/# B\B%3WA #$!X@$]^Y9I'K1Y0[QW"!<*%'>""
M99UG; \UW]DI7WTO:CXQBJXZG5RM3D=P_%2(:E(OFT*,*ZFK3Q;/Y11.>VSC
MLT0QQW)Z>ZH)M=<8[F?0[1%>>PKE3G!W"$>^]^CN<!^5NZS@[?#GOJIM#5?G
M()0CE".4VP7*N9%%*$<H1RA'*'>R*&?Y-F$<81R9#X?  "<#*A0T]M(N55N=
M$'5?H.X+PWTK=5\XT0W_;.9+W1<>3M&^KY$9]5X83N\%@J^SG>\6Z^6>('KM
MMN'"";(3B0^)S[X:*)P@.Y'XD/CLLR'"";(4B1")T#X;')P62U&:,S4T.$[.
M/74'$Y4G?I \_LAV*+N1@.%X&8" 82? X(U,YZ@C$@@8"!@(&'80J#2RHN"8
M^8* X<R!81@,<"IX8#OCLZR'0"T-AF0'HI8&A-N$V\_A!W?DF:3'$1X0 Q >
M:(./%3R:NTOL0'A #' 6>/#*]X^ZJ0'5N2-<(%S8 2Y8]GD:?+95YXXB?[;"
MA]3@@ "< 'RCD!_+HMYUA ?$ (0'^.1@Y(04Z4-X0 Q >* />",[(-,/(0,A
M R'#'60(QH^6/APR.QS:]$,M#JC% 97%'694-Y7%?7%9W%'H/>H9H,JX=!XE
MF".8.UZ8"T9>]*B]C&".8(Y@CF#N:&'N5>!2)Q<R)9(I<5C;W<G BTN6Q%5+
MXC,;'OAW>A#LR::W20.$+RO&/2,M2J.^E/#_I93KBUT;6$C6R/*DE+R"[W\V
MQ[8!;YMD16[ [=8X^L5(BNF,E_!K7:CG57PJ#7A=5@BX57TU@S]*XU;R<FQ\
MA[_;)QK7O#)$F5W)W(AOC4M@>UD:Y3TUI=JA&T6:5K+&.R;%-=QP<4\H&@RR
MG>WX3N^'LUG=ZKY"YGIMA>RM;=!?6P"(C=:V?>*=M;VS4LNKA M7K6:0=K,9
M&3"*&B@PN>TM_A/999.UM\+#+/Y*M<"'N$%?@"]XD]7P[N1^_JB14*\^YK">
M\K7Q01.F)<N !FH\?ZFVNJU0UYE[N\XX#S9$\3=M.6/!O0]ULWGPWLV;L#A/
M:\*RQ=^L [S3'$=/HRUU:SC$<>MLYON$9C-K#1%G4NWW^_T:.!4 IG8SPZ+T
M6<Z7JI53NQD2'Q*?78D/M9LA\2'QH78S)$(D0@<0(6HW,^!V,\$6:DX$)U%R
MXB,NLJQJ]!\64SDR<DF-9DXMSH/*QN\FX,,^ZF*C% =&^$#XL-/<TJ-N0T7X
M0/A ^+!3?#CJXL2$#X0/O==0'/FVBMF%YUF,]/#=9\@LM!S=V@:'O]+&(0+N
MG0+WP<WD X/VQ^EQ@N"_/8UP "Z$@3$480YA#F'.&LPAT"'0(= AT-FO\<L\
M==0A ]D@X>>\P.44H2,RQT==W?W0-5N?&3EU9C5;E>E+6[P(B/>G!YY^ 2^J
MT/5X1-7V(B:H_A:A$:$1H=$+T&A[+<4(C B,"(P(C%ZB&NW*2D]H1&@T.!,)
M6<RV"1ZN;8ZW9VX_(F 8<&E2JHMW;UT\>^P\5&/-&T>;EL:+QKZ]:>6W<;#I
MK4?X5F?C6X%5GE:4C^I+47F"PQ;(FV9"3.3AXQ$.49_@VWU%C)_)0(_3D H6
M$'P1?%%U%2J/1^)#XC,4\:'R>"0^)#Y4'H]$B$2(RN,-GJ6H/-Y!0D*I/-X9
M^!J'$-5P@D['5]ZC9XQ3Y J*12!\('QX"CXXCYKP3I$K"!\('P@?GI0A?)Y)
M?H0/)X8/%,NX35CPO/-,_J7R>,,Q"S7-GYNR>&V=/ )NJAI#56-VJQ-NK^/"
M 'P(I#82^A#Z' _Z6+M*"!X,^@SCJ$*@0Z!#H-,E_MJGCCJD\PP2?LX+7$X1
M.BS7'Y]GCSJJE+=+QJ)*>50.9B".SW,M!^/OJGPRE8,A-"(T(C0Z5*@&H1&A
M$:$1H=$+T,BE4GF$1F0S(YO9!OQ@6QZU7QU8J;RG+O FA?.6.YW"]U56U94Q
M*S,8)-QN%*F1%J6$L1G)O"QEGMP:=<GSBB=U5N1&*:>25W/\3UX;7/QC7M7X
ML1K?J<;W!+I9X6$(MY+#^Q E]07X@C=9#>].'LB>1-.@\9W?&!]60N2>2)*M
MR@;57'RPYN)C11<?K/OW2"7" Q5 /+K7OJCPHFU%B_\]M)I4A?&P^N39S/<)
M51B'$NQRB#(8WR]+*;=2AW$X$1Z#KXQ! $8 1F5\J XCB0^)S\'%A^HPDOB0
M^% =1A(A$B&JPSAXEAI$"/%0G$LO+JZHW ,UOS%>Q3*7\"OETI^JEWH(\3 G
MZ*X^[AIJPPA=(%0@5#@M5'BUO931(V(*"FTC>"!X>(K2X!\S4Y#2<.:H, P&
M.!4P>&6%YIEVAWXX2YS:0P\X5)':0Q_TK=0>^D3W_;.9+[6'IO;0PW(4$7P1
M?)%7F\(227Q(? XN/A262.)#XD-AB21")$(4ECAXEMHH+-%)!84E4ECB6?L2
M*<)@1TY%\ZAC#"@$B0"" &*' !$>=<#!,")0"!4(%4X+%5Y9(:D-!! G !##
MV"%.!A=LQQYOK_G>,2'#-D,4MSJCYP8HKKSN.:&*(KLRD@FOJK_\-.,7DN6%
MD.T],"[\N9W]1-XPD9525>?$:,+Y-'\KLFHVX;=O\->W,RY$EE_T[(.9'DYC
M,=-?8!W/++UMWZ)N93(7;^/B!J>(09&=H?%FV$;8EZV(LZRK [&;?W%E+CM[
MHUH8;43D*0SV#9]<\]NJB>?KKU&[ (HBZZE_$"(W;-YRX*PWS=,J>MLS<;:5
M;].B-.I+^.[^BG0&AE5@OR=8XPJ^_]GQ1S V YXUXR5\41?J$16'9\]DF14"
MKE9?S>"/TKB5O!P;#[R\NB_J3+]:R.[5YM@V8*(3K, +-ZO]X9?GC634*_(K
MYA+OX=TKVLLE@,"4UU(T?:[4L'F2E',^.=4"O_=QS1_9/^>9R.I;@^?">,]G
M6/[7^"JK8EXFLGH^-8Y(8OXNC4LNC(17EVKVZH,$>ESQ"5Q189GHG\.QVS$E
MKY>9=P-F.2+R_*FD"B3(-BU'$:@5:92T5IKAQU!10]/$PG_LD;H<0TY&QC52
M^0J%3Y7:%D8N:V-25)6LQL:["N2SE-5\4B^NA.F!-,ZG\XD24B'3+,EJO1K.
MV#O3Y0!N!74GQP7!+[-<PUN67P&>J:69%+C_RG)J7)3%=7TY0II/YK@M(RK#
MDN G$&Q8.IB5! R%OW&E*F#XRJ@EGU;X3'DCDWDM#<1AN'I6%F*>U$99<#'E
M,\T*\U(560>LES5FA!@"D!2 -5$_9ZC9Y!S5-8 3H.(/6<-R_QT7%Z[)9GA'
M?0DK"$]1R(RS4"76C6M8WCM37. WCRO0_M3K)A/@0O7,6$XR>=4\4,WO)H.A
MP.3NE^V8 S$3J=\6P[8R3Y'-X#=\Y51*_:3KHORA'Z21L<1GZ+KPE2(ZO'$"
M@U,3 =:^J0W+;O:[CA_WQ2+&20O ]TM4*B:3XAH71"<ZP5,KM10<%G *@U6U
M_7'AU(*G<+&!-?VO<(=KX4LK#Y51224W]24R$%SX2ND'Q;P"AJE>OZ&Z]@--
M%O."L1D]E) 4C+W-\Z#"L6T_+9MI71+5TPJTK_D-\Z^>-F;*0J @MGT$L?D4
MQ+:['"J*:B/T(O2B$-R])X%0#A6)#XD/Y5 -=Y_?8O0Z$.SPCN$7DOBSK+4Q
M8UXICX51S"2<JI7I3ELVLB4[/<6:G$*L"06C[2CH9.385$B3(((@@B#B7H@P
MS:.NP+U5B!A$<X23U..TSY/TN),&:8H9WFXN@7?4.4:DO!$N$"[L A=(8R/+
MV\XTMEE97&7H[(UOC5>-^O;:2+.<YPGI;X33A--/I)$S,JVCMKX-@QT(#\Z<
M 4X%#UYY]GEF@)*E;8=<]2%-9:+R1>1-HDK.&2I#07^N,*T!U;K1:E( 9@J4
MLJK++,',$_R=$'R7"'[P,)*!8?SC]#C)76 ?_+2O.!NR^Q'Z$/H<#_K\Z[^$
MMF7OA:D."4$4TS<@#14MBUU6ZZNV/L%K] J39CK$O<$>VRC'HIACQN0!=X<A
M!/T\A30GN%%XSJ[TU#LD//9M@D"(0(A :&?1B;[S:!+*\>/03BRKQU1:;X-R
M#L,M]_&L4E7Z GS!&RRYDB4O2XT9=U51-AGY)HNS/*SX=NVPC&M>&3_;8Z<K
M9_2T@FECX_MEIN_NE3HKLRN9XZMT%1I=8$E53/+&YJ)@$APBN/&SU2MIA=<V
M-O)E^E65;(X=DXRKRAPPZ!$\,L6R*?"FG]VQU3T&[LV+G.ECBRX 5VU22LT^
M;?Y<%_)[:/Z\9UB*>?H5^9Y8SP\9$R^=S4O@JTH_:%8B9S5%YO!8.\,"2L0@
M:R.,UL45'9!)'AN:8A2GAS+/8)0%@J5E,5U^##P6P0E>GT@I (JP_JB12JE1
MJ449?2>^+ZNJN2KI!7?R&=QWHZH\PL-].U)%+:M+7NH!)\44A@9T+)(?QE7&
M5<FH=]\_(;[ILFAP_T7)IV/CG1"9KF,VN54UZDJ92(!;5;!R@8#=,+H!WWU-
M.[[*F ,Y-(T^?/OS3T1TK('6W7@M2_B+@[Z&[^Q#;O^%6+1RQF\7E<B06FJ&
M6-BJGJ@:93B(GME(#V2>9S6A\__W83J;%+=2&E\E?H,T?5]*6.RC4:LVD>LO
MN?&) S0;=M"6;41&?%^4P.)763FOC'>9& %1)IE,=2''#W![,<T2XYM,YB66
M4GN7U,:K]^^^?OB&'U\K8:Y@.FH_J0MCPJ\;X- E!@W9$KOLB)TH8ANO/GQ]
M_QH$ZS*#066Z'F0*$J)JDR&3-]?Q"Y[E%8 2;"3PJ7FB8G*X2KOU_SD'HJ89
MC.*:7R!J8LVX[_P&Y 0$[KV^L]F&?LTJ7B&DP._-;-6T0&(69'DW!31(8/Q?
M997,I?$G5F!<7&6I)^&%'_.TA,>5\Z2>E_AG6\]07?$?15RIV_A40R'>T@PV
M4542M0C#*"XRG'=#KA+ X!+K/<XG C%MTNR@-_7B,?R*9Q.MH:GB=PI6OKY_
M"GT /S+1 .NO@&K3&#XXEN8+K!I<S"\N8=%G=?-34^-SM>CB=3L=764/A]I,
MK#^D-2/H8+.2P&0"?R]Q.,TJ=(/098RS\NX5_W][U]:=MI:DGV=^A59ZSK33
MRV#$G:2[UR(8Y]!)[!QPIGN>O+:D#:@/2(PN=GQ^_535OF@+ [%C;##6Z8>.
M06C?ZE[?KK(/N^CG *@MG:1 ]KJ8*NTM%\58<5,%MX!IGH0H[X#=P*O015*/
M22T($VS,XU@4Y$0M6K:^<E$15- O%>S$TK_@20"ECWAT[;N<LF.M][%U-!B.
MWL)@US[L$Q*AQ['4J!_H4Z;"FT3 1(MBLL +::!8EL6JB',"6PX,,R=E+1F<
M].HB$5P;H3X'GP(=D302E3IEL<YTEBC%+E6QX(-YF*(J5/1(U6:#!)Y"4\%-
MCBT?[(( YJ6J8IMS@"^L. 4))&=Q;#E4E!J6!@M7ZX9?AECV],:/.16OA5_F
MK)JLB&T0THK"20#'[FD6\$5)56E(P7['"2R%E'BAD7]0C!HV' R^&#?KH)E>
MT-6R0 ;NAWF"T"21#NX4"("YT@%! '*5G':Q/TKJ]K!X>G#[9U"K4D.HXK8^
MUK=V8'U2_2!O3ODMB'4JB8[%TV]\D+A KX&H^)QQ1,1G_)K!*"BR??E[U$O7
M7',@<O[O07@3R-0EBT'R.,"-^"'J]K)UIHNY=D<]6&*C5*]8$Z  9/?<:F&<
M&'P0K!X-XA_,!V :GRI%>T*CR+_] #=%2"2L8WS-9JFH-+QI*XQM*%L?U"+%
MOK+9;>S':CL?O/!=5P N>FP\JDS4(WMLV$6/C<.2S$MBC"R:U:+:D#@H++ ,
M.\EJAI(731NPQQSAXLC/5"%R\:$430P^@P%06&<FPP_$MNQR02+[\,OB7_Z,
M6%[61^H@\Q$J>"TU() VJSI.;=ZAPTL.'%F9(HKNP:=HK-XA"6G5@G[BQU*7
M8-<#7:0>5!<H0Y@W5O$GU2MZE:A*]F3DTRJ$.2OFE2]<KR)O<J;:=G\(Z?PD
MQ1R8)=J#?T4,?'G8LPMSS] N#>=S7_0J.'3.BJ0SXW"."1X+W2[\37:5(DW0
M,".J W4#=!:AO$NCF"N7T$F!(\ L!0*+E+>Y.31\K#C.-.<B/F&1;F#A&N=C
MTK1P_H"RP7!Q9Z',;WS1EJ1FB5/X/B5WF,ZT:QAZ9YI;>DJ<T#-#8EAZY$+D
MR7!$7\EVZ=EUA2D^Y(LP2M"./(,E6':E]"G7/D6N^ZZ8>/6LUTU*L$FE+]0S
MQ!I19Y+N).+\X/T^'9IM:3XPU X9LBJ^BE'(W#X-5/)C:<.L(WS'TH=OA7[I
M1<R?E'X%&R.=:V_[8Q2F"^OSYYYU9'[_MFQ]!:Y&YTMQY])+\[.=LULKYK/9
ML<6DK[E(*!P%+Q?S9Y,)\G3"[Z2I@9.R3 W^-I=&41%!<W;'J,Q$$QM@]" I
M6Z/4^3=> E/Q)A[-A?0V3 3IU-U91VY?U$*$W*)I&9&D !2_ ZOER10[BGCX
M"J6888TH;JJ5]Z+-C6R#0Y_9[[-,$THK#BI:R)!A"N9?W6X<L;='];=H)L[3
MV83LD"QM)./PF'V3P6B[4ZO1+J@(\]'=Y]Z*>'AFQ^!NP:IIP@M89V[A3&XH
M;KXO)"6,4RM7?E$;-XD09*#35BC>Q$^,B2Y1(X7+0Y53S ](- E"&?@0M8@/
M+YD'.D"N#B^)?"<5&@'%3VPV.:(F2!E:8>V&8;\ZB\F\7IYN007(%C\TT8C[
M<X>T66ZJ.) *:L9@C8F(MDY)(HP[# +A2HMU$??B'(E]5VS-X5OIQA:C]2S5
MMMAG*2K0NC+W>=6C3GJ+<5CUB]MU6=VU1%BVSLVP,F9W@%LGA*!1+:GT9,DK
M(_['OYC.!3]X5 P[D^#P$6"'0B2+AB\B']/6D8QAXTO7O/[._+1XDK:%!]N$
M22-8"X6S!4/2*A+V.[40<]>%KO_++K>T$([X'/-M*KTTXQNX&MEAG%+B2XR7
MCSYJH\M<RFMKM-A#\>,"X71=%P\994%?-J(\;#_B JSB^5T+W,M;X&:H-?-7
MW9P%GL'3(FF+^W$6E99^ =VU(F&Q*LFB$LV96P,+%/U%?6H["%Z,[ L'4OMC
MMRO@&?(I,Z,).N&'HRE= JJ(F'V.+*C:CPI[! 71?&%X+TS<7A<A G0BX-TJ
MMX6)JI7 /)V'EGX/LB+)#B(TTKQK?I=HL:&X]AY[R!"D@C(QSL]3FF F/,?P
M^L1C!*X1'=@4\@6H;2YB&R >_"3$T] T\8> 'J7"P%".)QS6&/P_:=/YD9O.
M88*(KA%JY(ZG*J)BL;G](JT>NF :J*"9D&(BOXUWLRBGJ7\ 9S_U07I%Q,BX
MQ,CG2"Q$G(%US6!9,%'*$=+\PBA+2*J$.:Y3QY],L;JTC"Q(1 <OZ!8=8OH&
MIN>++0&BPCW]=^I-!-$Q!]QR\4861;?X)29"^ ;RT2$RD;9D'F*RV (9 ^4[
M)NG%HF0JKFSULGTU")J6-IZ)^)0?9)2A%I+OP8>/B'69D2B*R)714$NIXZ+X
M)6HZST>C61^NPHTM'ZS84O&PI'W-8V%DN  ';W1%7*#)5L5N0!Z1R%2*B66*
M:0'\[RJQ8AQO?*<;\P-^[?$8GG8$84C/Z"DC,_1&<+16:=ZOYA1'61P73"+-
M10A\4I,_5EY;$>793I3G8QAZ9)4.@)[\B,S(5Y+>/Y,$(I/V$[43?K8362+_
M^'XI)@7&43FF),?Z,@^"HL]4,3+U!)SD"N<JRT[-00>#@O@=03;P<4!Z03L?
M8YBGH5(,Q8[04I+4X%'-,.A+/Z88CE)%PI993K1GR 6-;" LS5+N#%^6;1-(
MLFA"R3*]B1C[%3I,.O%KMF^9 XM$^2X3Y=4B47Y8,LZ,]R@4CG!05HD[!>_)
M$I/+P8E<Y/+/L0+W:5=#%T6@EL_2!Q Q5S<*2UP!F$5O<@\XC_)4.A1\KYSN
MO85VEH;*8%IKQ3AL_"R'4-*6D(@7J];C_A_"^S2,7U5"8D/2N4O@7C$UY8<)
MH*A "Z]1#=O0+JM2ZCF-\\P*9Z0.$>=.:D+-A.!B6YH+_'[C/#;O+,OCVU:1
M&5BCB59S 9QX'&.X?"73/*N.S8]]T":<O$F@@IZ2 U:$(K+<!/.N.>81\O&(
M+#M.DDR)J24<B_$;D1\!EG8XR"R?O%F,8@@OF9[(NW>F[XOORL($ZO8?9=KS
M] 7^?=?RP N_89%'X.<X%_@R7RK&=QF\+I,N2UR"$]'D(V0P[)"XZB C$C#=
M,2,$% CPI<"%C)1E5TSOTN<-S<+AFB@Q!>A.X4?R 901).59Y@ES62@RN%_<
MZ[6%K(?<);?,<)LC(%#$\Q\^^F7$N74>@I*J'JM@Q2B=4V82"-H,&:P(*ZAH
M@410(W6E 0-!0&8*,#?&1KTGH;B=%BVXK\&_N7P!30K3O^ 4E6R[7*_;OVB?
M"J<) Y>KS=8ORU/9*N-9OO>W-QB9OJI=F4KYR@"<7ZEP^R[9='#9_V*!J??;
MM^[YY>"R>SGXG[[5/3_%#S[3WX]!H6]EBC"AT\&H]_EB](VN#'ZX^'9I?>D.
M/_4OK>%@].F@)<D_1<B?6?$<%!RH[LQB=*49:$! G%L! ;&K3JFJ+\^I.L9T
MAQ!UH0[59U@%!:I81LZI! -8IDC.:V7*OK%=_8K@'N$LOB*,B0>F5KQS1@.K
MNG=Q?CF\^#S:.5L1EW\=7O3ZI\A7KSZHW"-'ADS5H8:+$O^0H8<(#R[*HIQF
M:=*>)#+BJZ^:T Y=)"&Z@WP8(V/LFEN1\5R6'?2XO.2-EZL"^HWTZ$V@;B:2
M')X'XJ(?(#)_,A:CXCA")&:YTC'&1#0(?M3O"6 69N?1::6Y@=\ _XS)**,[
ME@+8+Q..ANF%%SU5RMF :\EOX>4ZXA*E*G^-Z]%A))@3@6G,9>)-=1=<O53<
M$1#HM/D\#50P7;A?&?#!= 9I'R+XVU]0(IF[*?G[(4+Y,5Y#^Z^^-^#[XGL!
M],,2%_ 0C$: :8:7Z6BM6! (%AF3>Y;AIO7!9"=.0#AQJ.*>OJ>B=8IS?DP=
MN8MZN1NO%$NX7?\[D93$^-049DZ  DU@&=P##QDQ6DJ]$>;2R)_CDZ@*F0.V
M=)IP ]J%\1EWZH/[JE8#KX^XIZ9DA002A9V/:2?@K? X;H0YP S<^YG,G8L7
MYY:L0C"8,<?(B$G_XLH^1H&4VTWY\OP6NV&<E!P036.Z!#T34="IOZ!KVV$<
MDYN\9A=70!G%'NI+S;<Q*%,%!A%OF,5AAIR!"6&M$2M=8$T&?5/;B!IH. '%
MQ/PI./*$TC&#'SKB&FE$7>[RMJ8&.3N!JTM=A(X*Y(TZ)]PM\H \:Q+"5*7]
M@K&!14BU(Y EQ-A9G.2]%5ZCE0/D?YRM5 0&"50 /.3!R6#8$3ZA: 7NB1%9
MT>_2-\0]CA W"<);S/P,&*13W%CI*!.4A%' D)X?(N66K0_94,(LFPI$PLR?
MDPLA;A!@E *)@"LUI0E4G![0FQ\;J"*\JH,2.(KP0GIDC2/P+6EP 691+('B
M%V:#P?'#CL==+$E:K3FHB@Y*4;-(P:,D+Z*F\QD-OFQ<X!CWT*IW<=^Q9==8
MR6X<\;?TL-WPY%]&Q2##%5#)89I%X*E_2FR-BQPA/ HR_F7A#)*>R["%W\HZ
M5$R:3HDHE"F/W#(1=5N.,=.\:2B/%-@]]XQR#AF;,(63R[2!EC@DM@N@A8'3
MTC4^I,EK7:#(S$ U0^67'K2L6'&MS= "(6$!Y3YI,P'W*2/LS'\_VL##XQP/
MC]?Q\-L'W8M#WD$)9"0!!5X4K230!&0EZZNM*H<5WGW^^&$K?56!R (+LDLL
M2*W @APT=SVM-GD<Z6XE*O>U.[RT!H.R=7'Y:W]H#<[/+H9?NI>#B_.7$GFU
MKV9\PF97\FH?S&+W<5>[;'WN?^Q^WGW0E0*N_=/!^<>?B+B^($/IC*#U&#M#
MK#<YUC=<86T8N59D6Q"M6 :MD-T39Q=P09?Z<[HI[WLR!+*F7H!"0Y2M[BR9
MZL)_QBT(O*\P,2Z$BE>[+)#^[@)KR;DJ *CB&;(:7:YD(6%Y?#1^PC2A$(&&
M-XBHE+PVAR]>!@XH,$<&(,@7=<NN+861L2@1E)Y)-Y'V0 Q];*X+PR=BP$ /
MA( ',5 :F_$+,#XQE2QV/*OZBM&$^!@<*ORU]'QS43IYC4-$;7+7578"<C!$
M#[N*_/CW*SF;W8N=+AS;[A.HHT_66;=W>3$\;)'3E9=$%F;E4*0'?9D*K/+0
M]9EF\%R%$3]?CF. @4^[JT(RC[VS8=VG( K>9:8RDL:D*49K!'W-.1];MV%J
MQ5,)HL)BGNBD*43LW0V0UR;O4W!$@&8I)!AQ%0\/;LU]77H?37WL8Q51$045
MHL&LHP1BU M)*&8%-A$<04$V+B*GRP4XL2P"B#"U6<<2,S9E,-'\9H 6P00-
M"J]UET -91#JRSZTQ32PRQ0.+6*>*.3MNQJ$EKM,+6;A<1?6RX4HQ,- #8<9
M*U%\*Q+1<?C]K?"856'?%Y-'KUZE0<0G?DSU0Z[HCN85)BF2VZM8U$78N9BM
MEJUOY\/^Q\'HLC_LGUJC[N?^R+HXL_J_?=N]]+W\7\P2?AL.+@>(7CD_M;Z-
M^C@[:0H>:N9]W7Y\,^A)%@, _N@321FE-@Y:59V' =^QK52[ O./H3"\PN0=
M,'/@AY'B:7\/P#*U\G^<]L^ZWSY?CJQO7R]VSLCGP,?G@XNAP<Y/*<4/A9SW
M3:/5K_#*!&BR,0<=EJ6-=D_P];+U97#>!_UUMG-B[X/:,E"7!:&_/$)O7($\
M-U!'.Z?OAHQJ[IRX[Q-6W3MZW<K*3RG=%(J\^X7,L5]*9Z<;1>B'$DSDW>X/
MZ3!/YO[)=X'DKCB-DJV/"%O(Q,]V-/>?Z\LYK"T%L]&=EQB5>%4FW[*;K&1C
MYGX%"E\D]SW)BP+Y1:DG4>#//'ALS14&)?,C%9M@!KO2%!" **(P>"\4 UK&
MI"B>5:^T<3Y#/DD%4M :E3Z]+5NG&8H@F2)J;3V.X+F;$B#2,] A&+WE863L
MWZHY_7! H!__^SMX^7E*?9I(<9Y=5;QZPVLY3JG!G6JIWFQU2JSAC4N.6VDT
MVQ6W,Z[P-P1Y 'H<\O'?WO2NQE[-L=M>N]2N>;52G;><4KM5:90J-G/A$\=I
M-AMOK(#-85[<]=[A:>)AVB!QNUZX2+AW-F.3-Y;0U:"_OR>P#=^Y!U.>Q7S-
M5-NLU6FX;KW$6_5QJ6[7QB687;M48[7.&#[WZDW[L5,%B^<G9OM<Q,'$=+3P
MR>W2BK^?FW2W29B\56FU:B@!N,M+]4['*3D>:Y<\SQG;'5YCC7'],:?-_&@B
M*?,#G?67T".L^\^09LMM<[O5AI$Z;09<-&Z4&*]42DZG,NYTQDW'=AX_64V;
M#YOO<QW_7,YG3ZD31>@VZ9-56Y[C\6JIT6[401K!CG<JW 5/"%R@CLT[5=[<
MIN"\C.9!\G/$R1J-%F_42DZC":/:GEUR6D"A;J59<\;C)F]TO"W+S?M-]KF.
M7O5>VU_:U!W55AD[+\8#;U[Q[U/?\9/=QY::9:N_<Y?N7[\./@PN?R+AL5/
MVN8UK82I)00GE^/)Z1']L30)WTN8(,X 48,P87R\-&.W82I%PGLQE%VIE"N_
MJ!_ 6<W8(N;O8E%.EJN54S%S\>XW.#Y,0&,=L?J&:%GV3OU>/@1/>7I/Q'#
M,LU?) QRU?<;OFNWRHVZ_OZO)TFT/!.)FD3^6GD$-[!*@<I\)["9^,&*PUP>
M_YI'5*)1/B7(X+W&8BKD["*QJ%["&FAF>R_@KW?8['[!6B%E3.SK@:T0%)'#
MHQRX-_%^1 FPRO5D8/UI3/]5:CLAB/4;]'-2YS[[\0HYXS1#!*W:K%5BZ@&R
MZ8>R:.Y[WHROV=?F3G3<TY$7LMOK6.GA'>L&?4WVT#:98CV=/*G9=U]!<Z^=
MK)7M'UO3N(12O=QL=\S_&NNVTR"A<FNE#;H(8X*RO1,7O:_YVOD=V6^WQKT[
M,L:?7 \^TVJ9-8TPAC!-DD7\[N3DYN:F''.W/ FO3[J1.\4" B?<F[#HQ&,)
M.[&KK6J[7CT!"K+M3LVN-NQFLUVW._43KVXW6_66Q[_7[/(TF:^G\/%X-8W1
M_#PLA4'A_W=TK1 1C _!V<HF4;)XNKAMCT4-1;LEBM4/ AAB(4?1Q\.>5_N^
M(I)^14O=R+V%\MU/0MFR\JWNM_*M%LKWY2O?2J=1L5N5:@WT<+O3.,&44PDT
M[]6^J=X/MS-V$^]*R1Z>+U2XN =YK(66?=A.UO?=Q:T56O;E:]G,Q6W6JG;U
MQ+.;[7:M RYN?8=Z=H1U'N=<W_4SG%N.=00#5Q?=6=EJM5#&A3(NE'&AC+?G
M\MJ9-B[88R^4G?('[5TZA%G85=8\^*IK*?9UK45USV.11C'V(K DQEQ6FZMG
MI>;J>(=^GLY$OW3S>2IVK.^&YFO*P["@Q>NBL+#P4 L%6"C 0@'NB0+<N'LO
M1P>*S01-6"WX9"].^JXFK.ZE)LR*U!::\##ION#PE[M8Q0CP_PB#+HKH[KR(
M;CUW3*^RB&X!X"\"-#]CG%;+]E^*K,1^!FJJ^Q.H,>W)D5!=5J?25+4"1BQR
M6,#CTL7W&;]5EF6U4JD6UF1A31;69!%7>1+55=V>ZGJ1M+,W1WU7<^U-8*70
M7/M,I@5#OMS%%A[7PW;2KMCEP?FH\+;VP]M:<<Z-.O[OL><\"%!A6?_Z,/QL
M7;+O81#.;ZW^=_B6FE.,W"F?,^N?6,^_/W>XA_CHSW[P.S8HM4Y#-Z6:(<7M
MWT+U%*JG4#U;4SVCWJ^%ZME;U;.=<[Z?ZE$ZIE QA8HI5$RA8K:D8NJ%>CEP
M]=*CALE?V82+[MI,]"4_90FSSOP9MXY$J4A$(#'L3I9I(VI?""]BJKRS+ %F
M@6FR\EK4#U 66*ZP-//CI,1%%T!:RX)';]3*<Y *8WMKL-LKL1-QPJ+D/6UE
M"5\?OT./C(*/RYN>;5"UW,3RC-NL];WZGMF=(=7ZQ"Z7:)D;UI4KL6)@'73:
M?_F-CUK#<DW*'YDMJO@&T(9S:T5\S$4/-PE?&U(#IH@%R7__J5VU6^]CJR?Z
MK2UW@FN7/F$SM9GJF$<QWGX/O^^F$]@>RVYA77"[F17ES -&"B)[%)%57S>1
MG7$G2K'-:U/V42RH["FHK/8BJ8RJ(5!/VO.P;-D;"$]])%H>8-D$^IDBP%')
MMHYRS^ +:[5:R:K:U4:]^G8=??XCG=U:U<YF$;BZ/G&UW*HO52>6Y[?>EJGM
ML&?&PP[N+VC!80O1F!O79[';IL4B;(&*%VC':13X\13V-0YG?$8-H9GKAO,%
MUG].IGYL_1]P/YA&,SQZ$AIF M)N6]_*HW*OK%.1=JU1$<TX<131UIE&HM/#
M3JWP^T48BRN[^E=MG;_<#.S.O1DFX'#L&;N&0JF7!RY$]$150V3D>6S=3#GU
M2)TS#_<$YD=-4 E/20][>.48.\>&XV-XM=D!&M\\X0&8C3-C$KB<&4P[1:LR
MWY3U)QH./I.G\#B\ZLH*S 6">)<(XD:!(#YH[GK:]DZ*=*F0?@R?L&37_1E'
M@X_GW9W7S[_<U(KQV63(,]3/+Q9U0(MZ08W>OB[=\XNPTWDD6ZS=ST0\EC]4
M1IXUQ>9PZ":X+(W!1B2S5AJSPH1$$0=?@.7FPS .G[+9&$U)?!$A]N0#:"KR
M%*U*>A]+DVD8P2J]75MV3]H*YC!::S3:&Z[>5#=\5Z_<YTY.O;R^Z-9/9E%V
M%V1_72F%U[7:K290NH/AQ^[@_-@:G/?*NTB_;]['ZJNBFF*U>[_:YTS"'XB(
M.05;X)W*=37S+7"W04BMETA'V^\Q]'((XB0^L?[!W-"Q1BF_=U.AP^.RO1/)
M!\I)+YU?5O/*BU[2UXC'6 0VH710;^KS\=UJ>P>SVJ.%+J3$]2)E'_:-4*/=
M&-V%S#O4Q;[,HRVXH>"&@AL*;BBXH>"&@AL*;BBXH8A.%M')(CKY=-')+[X[
M97QF]6<.^^/U,MK>2>4#9::7SC)KV>5%KTI$)>]4/C^8]1E1R;%>)*'S73=,
M@T0 [HL@Y1Z(@D+N[?UJ"VXHN*'@ADUWY?=G<<5EJ>V?P$XO2S4??UGJKR=.
MZ-W^_3__>C)-YK.__S]02P,$%     @ 0XL&65"G@?5Y40$ T#04 !$   !A
M:7)G+3(P,C0P-C,P+GAS9.R]>W/L-I(G^O]^"ESOC3O'<26?A]WN=N_T;)1>
M'NU(*JU4Q[/=CAL=%(F2V$:1-7Q(JO[T%XD'";[)(@BP9&W,MG4D(!,)@$ B
M'[_\U__YNB'H&4>Q'P9_^>;S=Y^^03AP0\\/'O_RS=?[X\7]Z>7E-__SW_[;
MO_Y?Q\?H[.+R!MW@%[1P$_\9G_FQ2\(XC3#Z<'_]+?H_)W=7Z-Y]PAL'G85N
MNL%!@H[14Y)L__SQX\O+RW?>V@_BD*0)91=_YX:;C^CX6! _C; #OT=G3H+1
MG[]\^O+#\:<_'7_Z<?7YCW_^\OG/GW_\[J>??OKR_W[Z].=/GY1NX787^8]/
M"?K@?HN@%^4=!)B0';KP R=P?8>@>\GT"%T&[G=H00BZ@UXQNL,QCIZQ]QVG
M^1I[?XZY#(D3/>+DQMG@>.NX^"_?*)(X?O3H^ &3 9A^^O%[.G=.DD3^0YK@
MBS#:G.&UDY+D+]^DP7^E#O'7/O;H]!(,\U)HH/R9KD<0_]D-TR")=AG'UX>(
M?!=C][O'\/FC^"-C*SMX272<[+8X+@R2=0NCQX_TSQ_AS]#GR_&G[X^__RQ[
M8M<[CM.'>E;BCP56]'>-C0L-Z4P61O/R/1O+ET^?/G_\/]=7?*/(QL0/?JL?
M.VW__4?X\X,3XTQ>[-</@OZA. CZ1R\IMA54__"1_U%MZK>,@6[=A&ZG; RP
M!7KL"3%K0;KY4C>,+Y\^XM<$!['_0/ Q-,,1^P[BXR_?9=WC*)=A[<0/K#/]
M94'6.-E&];,"?RDT3>/C1\?95FF*/Q0:NPYQ><NX-/;O/\+?4L(&?/SYNVQ7
MO5;64ZS^9_H-?V1__>;?_AM"['/S-]LP2A#_ZJY"EU%K60CXU[%<C6/XU?'G
M+W1+?T>)?8."VN^U82D_CAN$W)9[#2+;T_L.0FY@X/Z')KZU.[X7Q[CMX)'_
M.(9_M/*N/;;V&T"VC=E/_5GGVW\_OO)DD^=A?\Z% W08\\IG_A&3)(9_M;*O
MG@[[R2P/4OBAO[S9\;NGK.KQP^45O^DG<^'TZCV$TG=5/=5J^7:?A?L-H.:N
M9O^.>YTL=3>]ADT_9,.79]\)@C!AG.!7\I?;K1^L0_X;^CLX#/\<A02OZ. 1
M_/#U[K+S=OV8.*]A$&YV'Z''QSOZ/W^7FJ?\[R+PSH/$3W:7E%^T80/Y!OE4
M-^G?7 Y3#M3#5)'UF4B?/\'_HVJNHO%F/SJ!AS@UI)#[UX]E(B7R:8R]9?!O
M[.=M1/73@,_?%?V%Z"R:M'14=N.@?OFP&KN)7\KETKN(]U16IB*?AH%']2+L
MT1_HH\'WZ.^]$X? Q7W_A'$2?PV<U/,3T)MA/??JV;&TGV%I,\((WAN"-E*)
M(T$=<?+H0\;@V_?5UKW:MTY$.SSAQ*=2[[_T13(=^^#+Z'V /A08ON^+UGV1
MVQ:N,-618W@M>BG!R_5%FM#?7M/1;=(-^^.MLX-%B9?!<LL>3\$C[W2&$\<G
M\?=\C^@EV;%?OF=70FX@.4:\/^PBP1>%:\0Y(\&:MT&2.0H#E+&7_3^($7R+
MOG_?0?N?+-E?X^5:S#']ZZ +I8M$QP[YH>>)DK.!#9,S>K]C;)PE/^@_2W[H
MVBE_F/XL^>%]!^DY2T[##9V=)[#G/>.K,-[_2&FAU+%??MSK9"GP0\#P_831
MOS_ND]#][2DD'H[B\_]*Z<MP[PW21JICA_QQKQVB,OP7Q%F^[Y$)SA G?KH@
MX<N(LZ-*H6-'_&F_,X/R08S1^SX89J3*;O,S'+N1OX7Q+-<G:>P'.(X7 7VS
MQCY=R5ME>E2KU5[]6_; 3S_]X8<__*&L9RC$8;DE>6;78@S@MRJ+]Z4?L/3W
MZ6;C1#MZDON/@;_V72=(%B[SDU E[99^<ZZ/X]I5[]FU8\%_K"RXH,M.^YPR
MRDDC2?M]I?L].6YP KK4+8[NGYP(EY\/Y3]WK-@?*RM&"7!EC9) C,;[RO1;
M&7F:4<7WP0_XH[J\/+5M.M;H3Y4URLY-E<S[,O5;)M QZ'T&_P&5\]DAH'V4
M%ZJA5<=2_519*J;1P/7&?E!(O2]7O^6Z#)ZIY&&T^UQ>(N4O[<ORAT^59<GZ
MOB_#  7C-@JW.$IVX-.D.WD+>GNM.E';L&.1/E<625+A;D])YWW%^GXXB1,\
M0A38(HYQ CK\SV'HO?B$5+^DYJ8=J_:EYM.2Q!"GQI9/TGM?O7ZK1S7D*,7>
ME>\\^(2.",.B+),G')47KZ5EQ]I]7UD[00LIQ-CJ,7+O2S?@J+P)$QS?.CL'
M/JJ KDZ E^O3"'M^_8G9UKYC&7^HZO! # EJ; &!'C.P,(KO*SG$O5/OH>E:
ME:KQ@_=[G_L!7]$JHG.61CMF*:[];HHM.M:D:I^0W;DM^GUM!JS-94#;XI7S
MVF!24O_>L2Y5*P3OC%CO]U7I=UI5_3>5)U-=DXZUJ5H?ZMPV[VLTQ$X+$WCB
M,'_+9HN#N-D:W]"T8\VJ9@A&!S%"2*7TOFX#UHU.W,9/F+,*3$,A,V#CH-&H
MWM:^?05_K%HL%&+<GJ22>U_&GK:_,'"IZ%&]<;;TUXXEJMHKBOW?UZ3?FMSA
M9QRD%4>&_'7'*E3M#Z+C^_3WU!K2AQC_5TJE/W^N,X17_MZQ(%6C0DX!<1+O
M2]-W:?HX98M^W;U[=RQKU<C0W[6+/LB?WD,Y]O/RKL"04UGA^D8="UFU2U0]
MON@#I_6^7"-<O_5KUM*R8^&JQHM:-_#[VFGQ!]>O7FO;CO6K&CD:?</O:[BO
MD[A^V<I_[EBIJLDC(_"^,KK\QNI*]6_>L7)5PT>]#_E]&?4YDYL^N:X.[4OY
MQ[J8C3;'\ON2:O,PUZ]H9_N.!:W:2UJ]S>_KN9>SLG[M"G_K6*>J145F=[TO
MR$A_3/WB-+;K6*@:2TMM0LW[LNERT;3H+*T=.A:RQK;2X*YY7\S!!O]&%TS#
M"Z^S0\=B5NTKK9Z;]Q4=X\)I6L-JDXY5JQI7"D3>5VD_IT[]^A3_V+$R5;.)
MZ/Z^)A.G!RX\CXW;(0K6E,CP'YLZV$J[8T=4S3.#TPKA\9&-0(72RB$,WG>5
M3B=5]U[22K%C!]7$Q_1W9KUOG8F<7-FZ@\:;\AE9KDN-&O;,&%+MF^5/54-4
MC<.LL(,4IO#/.O_:^U;1LU5NPX3.B.\0LCOS 9+[&=]C-XV8,6G@7NE%JV.S
M5(U<79M%X8HD6Y3S?=\J>OQY.:!2_=]/=LJY#^Z>F+W83IT$/X;1KF$K3<JK
M8ZM5[73-_L0BL%-SNX==X?K+QX;DX-[WHY[].$0AVH-"Q]ZIF@Y;?-'UZLZW
M[SMA;R]U?D!DO^+&IIA^?-B3OZ3'_VD: <9GP\883[!CGU0MD[DGO'BFY+\7
M)B[.&2FLCY!@_KYS]MXY0XZ-?ITZ=D#5G*G$0KR?#%-'20RVP0PFTK'^5<-H
M0T3%^[-X\LV0G_)U?QVZ*_I1Z]@>5>MLX_90;XNFJ)SWK:(M+"=[UBY<.K\1
M* '%MHVWQGB2'9NF+KZN-;2G\&"6S&LZO>\?C?LG.Q[.X\3? %CC(@A2ARPV
M893X_Q0V-0V[:ARCCKU6-?5V[S7EH,J&A/B8D#HHKO>^;\+I-N$P=7<_,NT;
MZ*?!<8COBM#T$8K*3=34I&&7:*'9L66&1CJ6KK?6H,CW/:07C&?P VM?6AU[
MIFK-[0+Q>3]H-(?.#KEL>O3H6/"J"38KPO"^K'.ISJ&_.$?7MJA:7'77YGC?
M/?L"4 V^*_KW[M@552ML$;CJ_=#0N^P*=M7@1>_;MV/)JX97%1/K?<$G3-,8
M%*PVK'?'HE?-J;4I'>^+/]WB*\$;X683!JS%'9V@Z!E[%V'$;][+.$ZA+F/O
M7;$?V8[MT@^;K1S]P?B+>T.. -$]))4*.8CWW61Z-Q4*>DZTM6IY=.RS!CRY
MTC[;>YL5ZYB^;SN=VV[U!"E-6R?8Q8MD<^\0JI6XB?],&^VQP7I0:]U*/WZJ
MFE-['%ET;R#!]U]BM%A=HQA8(T?P?M\R>VV92KIBOM#U?S]_A1\;7\=ZB'9L
MH*IQM3%94ME$RW5S,SF ]UVD9Q>)^>Q]F0TBT+$[JF;4QF7'G,O[]:/EQ=SP
M[4N?RC)-XL0)/#]X9"V7+%FK]B::@G#'KFG(I&\X4W)?C<)<].#LT>+]8M*_
MF09;8O8@T[%1!F3JO[_1+9TO]*V11+[+*IC2/E^I$'K/F1X,.K91U9P[_+S)
M1R$ZPSC>#Q[-NHQ\[;#$K1@G":%#>R#^(_OK79S^'#E!8]23%IH=>ZFFYF;S
M7LH?43$P/Q;<49BQ1W?W7]$C&\#['M*-$C_X!MN75L>>J8&B;,4H>;_+#.#1
MY.]D&?JSN\-N&'G8N\,$8A!7X3U^QA$8S2!4^]5/3L.X\?"9DE7'_JK:I;OV
MEVKM(7),*!*#HC^P4:$D1+$<%Z.#Z<B0"T-[WXNCD'0&Y2/V[MBQ3VK*I190
M=][/G4G66G48*+]>KKE!-_ $[$5,#P7L/T/\69^=,()L^S[Y7%<-I;A/BIX'
M]6^ Z,&-Q?2XD"- ^1#>]](T>^G"?\4>CX\^V?V,0ZI3;I_ PG:''VF#YEM+
M)_&.?=51PJ5K7[%1R!CPAQU2!X+$2-ZWUWXP57[L/#Y&^!&N?0'XE;W%Z_YX
MLF-?^>F3$P28M.G4FDAW;*VJ(;I .@,Q*[SOZYN<[,0))D;POJ7V1*/K6.5K
M)_H-)S]'8;IM.)SVIM.Q6:KVYV';@W-$C.7[[MAS=PR*_^[5IV/5J\9D2?5=
M\=5GUBN5KQH&1#>@;\=BUYA\RV6Q?O=X"O _#Q#(#LM @FHY7R=RH><=7B/Q
MH[HW7A\B\ET8/7[T@^2CYV\^BC8?':AX_\HH/$5X7=A,6:<OGS[]@9'PDF/X
M^;O7V/OO2L^$#O<OW\3^9DOP-Q\UC8S^C(.83M@QG3LG)<F>XVRD,_6HPPW]
M$L</ND!FFC$S%L<;O'G T;X#KJ,QR6B?*-'(31_P<39)>XZYA=*8D0-C'&^<
M[W :A5OX#^/\D9XXZTR*%]_#T7'@1%'XTF?2211E?8'XL?@'E>;SGXX_?S[^
M\IG)5$]W;W%B=27HA?)]-H@8="\XSX[]!&^J L35):"]E>/S^/-W?,CUE-J'
M+,<[ZD45NBF#\Q#_!6-ND/C)3KE?BG(!Y6-)DHU],*%)Q;JG%QIF<'EAX$$
M#X.Y"HGO@59\XA"P#=\_8?HF_QHX*;U0L=<EX1B:LQ.V$,XTA>2U#"Q.0_;7
M>+D6:6_TKYH6OR?QF8@/_MT(/\$Y_XP!=72"6>CF,9/)J 8R3S ;/9C,9#H
MV/&"A"^3[(E&VOL)SR[4&+O?/8;/'['K<5DOZ9:C\[R*'(B 6421$SSR$=1?
MS14J(!W\P,1D(G:3-'!'[P.@W^_2'D/9I.#](-\'RCR,Z*3B-H)/=XG4V='0
ML.O*UO8?>UMO0P+48^CV%Z&]OR$A,NC-S_T'7NUC\L.N@Q8<^!FWD3 V[XW0
M4D,6HI.((7&: 8[Z2]--P^0V:P'E&;C;>E RM$H<MZ/_BA3;FYS] LS%P/FN
M[6MR\ I<P\"AU_0TM#6JCXX!%T)+9Z,J7VUL]% 5KY6(27%:HBT'RM2#DBF=
M20UX&:(KU?8S-&CA0^T_VE('4Y]PR;<XX/MMZ&ELX'U>57V?;&/IVGFUR;*&
M>[[=BMTMON"&RM%-P^IK;J@X?:B8?MD-E:&AH^TW7C\Q!A.R_]X;OCX]25E_
M^PV5K"\EH\^EH4+4];*FQ \=?!<%^^K\7L= 'U+&-.#.\N']E>*>I&PH]\.%
M:>QL5LT?.O#:;C-U\;2'*D[E_NG#=59/C3'3- 4O.T^28<5S]WRX[,/$\G3T
M*Q [=CZ&<+'Z1-)5!G7<$TOO**Q.J)[39W_:IM^G^Y>N'/RB'<O*]-3HV0J#
MR-E^YFM44?8E;WL*>A;E&ST7@_C8MY/T+S^GP9(RE-D,IF=D=34=DZ9E"/:G
M4M>Q.XJ!=>O=D(I8XRU\P[G-)!I$XX4UDHM1LZB>;Z0_+:/"C2OP,TQX';RL
MA>9HW/R#Z5H*Z=$H\D"JUKP(FNQA>]&U)O2>53OVGXU1# ]DFNH1O$W-61OW
M&4Q@G\(*.J:J/Q^3DS*^=,"@N='%SNH4M>+BCYN.'J3M.X.'@L%K<!KOQ]+^
M5&E46_9G8'\:]H7WGFCG]&=M]9P9BED][NC9C]M,0K,U?F<CN=@/:!F//ZPA
M%$;7(&P$T6AR!0XE:4/4,0BR>TW$>(:SFJ;>X*AZ)VL@6Z-Q49H /X>%16EE
M:C;R;0\PRX%!<GMS,#L1FHS;0ZA9RA'2%>DVG.K!V/._-VG0__[@IN<'D]/S
MP_CI4;'M?N+3$?!CZ,IYP#U0'0%23NT&P'@_'7_^<OSY1R9O';4IAKO"48SU
MCKE*<I*!AXE#- ^\0K)]X 2:7M&?1&M@T3CZ[_D(H&%&W4^@0T:FR!6_)CB@
MSPL%;#1C'+J%IO3?3A+6 !EF8$-K)WY@(TGCXT?'V0K$(9+$\C<Y])#XQ=\S
M'"7P(%_2'[-3EXWX+]^T-/QH:]!9E)H(O6,!]0WCKF]K;>BWZ0/QW:^)B%<H
M)M UB-#>Q^(JN."'I4\=_M_+H/H,:ER4'EWMK1%Q@AMG@\\*P+#E12DVVG>P
MU4L0?O/WU4NX>@K3V*%OR\"[]^DQ@8-S>D*%.\Q-8;=IY#[!/4C'<5W A!4#
MW9^.EHF7R&<>]OF<TQ_RJ:;_^#M'\*0*8(3C^#:,Z;G\-W][&GKE7=/1V-H^
M*0:2E\.GZ70_A5%"+\I-'D3.LZU6]-@_(0KD2/FL'4_8VJ3496FS!)9=@[ M
M'31_5*KOY<6)O!B<O1!WZ"EF]N9O:4AW:],O'I)W&$XER!W"$7M6!2[.[>(-
M*]&OKS71_A/[CT\0)PH&V$=\D\),LX07[''[O[(."^\?*?\R&H3=EYK1PQ&B
M?J)M* QKH(&=PBU)E9FV4[*]UQ0?U1W>RFLD KO>)G_6TTWDA]YE<!%&+O[<
M^%WUIZ!Y_$HP"/^>5T]1F#X^*5][627NW\_>U90^Q+[G@P$MXC$=USAY"CU^
M8="KW\FC%W;5QK)9FU:JE86UB<IT(1P]^P V3;_\BI?Q)N2#]?BYSYZ012]D
MG-R$R5]Q NZBQ\#_ISA#&"7>B6,3/#E!_9ZR/QYK2\"/W@S@.GB\QX\%$-S2
M%#6WGY/2HT2K=FA[/3M;$^X"RJK@*_^YFMFB)FN(**"_8B>Z"-.R!C62F#7A
MV6=RJH*.\TA<2,1=.:^+ASB)'+=)R>C;V]X]47N^*$C4].C.F@B3*SL_KIU7
M,,5FQQ4]WV6._QU5.)KNC*G8V9O 7 $X2R.N-%-MY1>'@")=B-AA@OP<T:5O
M-+'M0\ONWE&UY+9%+[2S=Y11U8U-Y\DN^_'??7J-4-5S=T6?/V3QZC<M3\_.
M,S!'Y+?^I0?( &M?.MYEBB)+&<JSINB>VU -=IAM0@\7^WOA,MC2O<D6\$OM
MZ[]/C\,[P3L-_N,)6YN4*ZI.85QT#&8A7=)SR.T<'JB2%U3?<@AH&PV3,8*@
MYO?JM?./,#I-XX2J$5'<;*VJ;3>K!8F[CIJ.3M:$:8D@[*_U#R0R@UM%/.5/
MB1/'K8:!EAZS\[O=I]LMH;]H/?A[=K8FW!E>XX@!#X@D0>76O<%-CY.N7G-\
M<$+@%YQKL*/:5+4!%.R=B4K.]H7CLJND1:;&YKH-HO5H0"U>IUKSZ' JUA:B
MD$[<=6XW-+8V>+5J%)W>FQ J4\K?K.A/L>,R U_K"3>4BCUC81BX=$_QS0.>
MF<"C'[M#[\W@D2F='1:9_OWMJ1=P-"W7Q8W6<M\VM[=O58>QM&Z\NI86%3LE
M8/W.CZGN<D)5LJ>-$_W6<C)W=M-\0C-%&(Y0:2VN&MR:V]FUE!72C '#I+_"
MW+^_[NFNN7COG)=K.IN1[Y"8'R%^3+5> .T!?$;8#LYC_:+L3\UV4,%%%&[@
MH0+'XW_ZR9-\77:M7._N]O9F[JN$F"XX3+,KKS4*K$='V_<(&US^F71=D%V]
M9O@J^!KC=4JN_'73#=FKJ_UH5A[UU/4U-38W&IERRBX\<AEX^/4_<#FVJ[F=
MO:^A]!))3JF&NZ-:'[/H-GT,[9WLA4(Q[3QIU:R*;684)9P9]$Z=K9\XI.-
M&D!@/HICJ[Y>WW@^@Q]BQ.S1U:J=5H1H<1\D]ZVV&&3K6EO4NF1(W.(QPOQM
MWOK%MW28T>=_&^&MXWO2^B@B/21P(S?2]3X*>A&S*3Q5<+/,F>Z#KK:UUGO=
MY9&@?/3B'_G Q2_^_LM-:8S*'VQD![!)64:W4?CLTQ.G*S^@W'R6T2&-61A[
M1(<TT[*\]R'02;[[_""EHQ:7=QC$)W@=%H -SU_IA@\CSP^<:,>,<6"M@Q=C
M2 C8YP+Z1L9Q^_<S#4>;EW/EP5Q  6A[G?;L/!_-8T69=4G4V,.>M9-9H^K,
ML%<=,19]>NH5*XX2123ZKUP<^H]2U$"-S;.AD;TM)(91V1BMFE)7K\.+YI%!
MT7G:!%=B%VGR%$80I*4[S*<'1\V&6,GQ%QQX852;E5%N,D-K55.<\XIR'F[
M:J<V*]\V'9T?98Z(<BK0D)YV/\^'[H_EH?RQB"2+\U<<N7X,[WVZCE2)BWV7
M*7!-LS$APWFXV\6KFYT<?3SNA?:&GB*GX3-]2]8_WJI_UWSH%>MAB/=N[2NY
ML[G5;#0%]*=+*VIL;D_#<R)(B,U*KT'E0K=)IZMM.ZL'!-L/S8%AK5UF%4+*
M3[E5>,Y@5 :$D98Z:OYFI3DJ>XE'OHN5Z#H!15+W_?;MJGW$-24ZV_U1_?OI
MSCB&KXKANF+OZY9>!@SV%6Z^Y?H,/]1.:V<?>[>AOP$;!7<<KT%W!;?_,A()
MH"UA)WUZVLN;DY^;Q$+ORI1K;#^KDS.+^:__A =UM9O3J)PI34M2;J;Y.ZY:
M\PMI%=6!]>UEU9,O0EKA4!$E\I)=7HVUTP70FX ]90XSTR@=&\?@S+_95I-+
M9S?=MT1>L3"',<F0TUM3W8;WM^M@J&!GM&)N#.IJ+ZR9,+HJ;D%-R8FF:.9^
MG>T)Y]$'8^+'$,( \.'] G^Z>EET5"<.5?P\^?)9N&ZZ21E>.E5G?==O.NYZ
M=+0. M>B@!6:& @Z74@8Y'/B<PN@ ,T;'G':A]3A&<&%T4M)->?V8-VF[T8^
M]DX49N$1FF6'DE'?=HI'6A74*7VDVO#J)?P;CL)E@*&80@!)07B;,"T@_],-
MW;4M6&P:R<\A/DE$LG&[9F-1LN[(I9YT+(24?+UO""FA?YB!P@Y^Y):COJ:A
MO10HG$!<*HMN\;!WLOL:@ULH>T&+JD#-#[L!! [O#I#H8O182SE > GHBGX-
M:^S#YQ"7, "9?0@\3!G0@^Z+0^_@#F]QA)2_</"R@,7KN0R4&WZE.*LFO;=[
ML[=WG>>*<!N$%/V0E^N5\]ITT0^D<GC[J?-[4E2TTO>4H9Q*6UWJ$,B5TPZ'
M,LD8YQ.R==7AS&OI8.]M%X7TKDMV\("31K8MK$VS3ZRURP&H EUIT<,)38$C
MNS<L\WP!F17E_-:)EA&+3>91N])#W*W6-_:T&,3A>'F<?06\OQ7QNU_?N7KD
M6N-3^_6U:"X6R04<6?Z"A"]=)T-K%WL*4I#X'H!U4TTF=XYT%FWH[&91X^.0
M>2V1?ETW[2 2]K>@B'VFRE08L.3*YM=W>Q\;"2GB/S"?9?]*>]L9X'C5!BC1
MXUB WP]$@1Q&S3J.;X:YUKS;:IN^P;<1+XU\&7"7G_%G3XF]]0\CKA0LY5 N
M\+\7]+(+.W$N]J&D.UHT3<)-"-=;L\)<::-;DU<RC);GU\NS:_E\O7:"= W/
MV A'+0K]D/[S>T-V7=,].LXJ;/\B8K&X[FZYED"G T+WZWK/)0ZYP^;?U-KZ
M2;5<U^NQYZ\N2>GKG:<_;K9I(HZ?\AW=_W;7QFA66UJ@R9^$412^<!P)^I>D
MZ;TZB(3FP_1K$&&'0#85>U(2-M$_5U\X'8W?H/J2%4&9QE<PF/\AI9J]A/H2
MS2@M0R^P!5T'#];B@CCE8@/5O]L/?2ZBA$-F>6O0<'<_S6?+.62W;R._(7*S
MOHU%0RJO:88A,C:_B]KS?%O[6$UE":/B>H-?A[T;VHQQ/3K:]$7D/L5F-X/2
M9FZP'#QJ1BW@)ES"S<G3PPD=WDVLHB%-92VHY6%MJGYQ(A_L5E!:J-6>7-/0
M8A1NC*$4#=C>H#))R!Z5?4+S^_2T%QZH)0APDA._ TN# X(6P#)J-U-[6\T3
M?P<!!LOUUUAH=5#$)_+@HZ-ZQFD3,G9C2)D>FK-*\5+-3^V@S]U=;4/22$=)
MZR%6W];HIW(']T/MAU[^J[49_1D'5.LB= <OO T -#/C[C-NST3IZF77'T(_
MSU#JDEPO:Y>FH]/AP7+DP"+=:HT6^O:,!&D4L+A2=@2_L@C3]F)GS1WFA!S2
M*D-S>WNE>OS8$;DWW#/$L=';\&);N]CT?ZS]I.6MIS2P.4@78X\! @YYUW7W
MFT,\64R/7Y+R^O19L73'IWJ72 /I#BSK)F'S/2,JGI90N)M?,0WM[6T_9P<?
M*=1T6+ANE$)YA_9HJ[8>]@'J;W WAFU-4]T^[F2S7*\QF%M:ZA_6M)JGO:D1
MNW5@F>!.:I,EV//DLFNJWF[2S1UDCQ+IZ[U0K)7JXT_4<AR0A:^+B<6[B&%Q
MU4)4MZ.)].EY>&;%WLDXI:0(>0<S9"1K&4*M@[(9E<W"CB/L+>G 5OZFW?+7
MW%[S87%*)S7=M$7]E%K8FT)*>[E6MDH; E-M6XO(++ 9 Q<S>(A&W(]2*PNY
MP-?7I;$I?["I6)>SXSKRZ]IZS.%]P#4")1>F^SU0[:);:T@W&R?:T?M<IK$N
MUU)-@2/ ]P18>P_=8$]2<PS4R&O2=N8P#*4RJ\@KH:Z,B;QJ)*'[RNI5NI8G
M*_5 2AQ#;C91\ZT;LZ&QO>L0O#'"6$;/Y79TLMJV,TMOZAUV>;*K)]"BRDS)
M<1;F/XE]LHQXS4;N]>IA_VOH:.^"IP=)TT4.?YI?1#S]N7Q3=44@[T=K!I'9
M]2_/W#:9(0C&[+TIG."[@4E7>K@839QCI72@,.HS/G,2I][BT=G<8L@>G>V>
M%0SJFEI\#\3T2<+NMXY0R7([S?J4,+-0'H4':)VNU-14NU$B>_?(R#/Z;@@P
MJ]X+<1V+9/6$.5QI9DNNR]@?2\W0AW@6NBR4_7^G3D2_+K*[PUNJ@M9\@TTM
M#\_*V!G&STU],N9P?HA00\>G^[WN/P;^VG?A&N9(#>!P@/>)+TSKM4_S[E[F
MXXL:JEGE?[-\1K-R[PRMD&%%Q/<A::Y5VMAA)FD/,,)>>0ZLH0'P5'!($A*^
MP&TR'"^UH?<,G./LPFD/VVIH/)D_4+D)&R$HA[C^]J!GU?P*KB#P3FXA6"[A
M$1;88X&B](%&/]B2+:A#+]N;X"R#G+H>.?WZSA#]OM'=TMAACH;HGZ/FB*[.
M;G-Y?U="-4LG(%V,VK?RB,>X7I:'IV?+PHNB!N2SXQ,0B9[33$?5K39WL;/G
M/L8;R#B,=ERQIP.B&GO S1?N3DG+7GC_2(71O\F[O ^IP]LY X%BYO="&SH^
M>TDA,C:,OQ?J9R1+:^>0BJLP<8CZ=]#7J1+R5YQ F@]]YOV33A>3G&Y0\2MH
MUV0=,SP(:Y-][;A/]"$1[53K=:NFU];#GMTSI.\TN/'Y/7^R^QE#EMWVR7<7
M$%W?ZZX<2$0_)I(H2"ROA_AKX,$GC"\#+W79UP^.AE;(I$$D['WBZS5VD^7Z
M_-5]@H,-$E.7+ >O]$0H1DL7M)-^X=93<++W8!%5%U?.JP1*S,J)-6,"=_6:
M9RIP*S1KGYX6X] AQ"H#@[P")G"'MY5M:.YAN59+DQ_><JG>9?3H! +E!8*H
MZ))[[!^ ZQBSBL(Q&+_8KT2]3Z4(*,];*!M\.ZZ':7F^08VXZ!.P[)+0?5V#
ME2&F;VMFW6Z^DNN:65MJN2L9!&_,5,^K#AC UBY3(C+"8O8$7U2:6H25>5&^
M[B@,Z(]<W^H5>[<W&1NHPJ?TQV6T"E_*(79M+>=<I*3UO=._OV48A8Z<MU*C
M6288=8*/]>RL^6#Z3R?BQI-!%1]Z]+(8G<?29GF1^0?B<S<&I-G"##;Z<SMZ
M3>:JHP]8^.R<8!<OD@T[_ LFZ82>AP_='KK^9-Z@-B9J=EE4R*HCF.8[W8GC
M07IA6S[.2E.K>3VY4X9=-RR:K.-4[^QFT5A!KTG79R-KM$PH3>QF#V09X==T
M"B/?(?%]NMT2G^6X7V-(UZ$'=XR9/8VE[3P&FQ:0S%$T;7K$71+&:<3#&6IW
M5N7C[WPXCZ5J$W<+#C,6&DG/+ !NHTIM1QQ$2Y?#NU5*#LS,OCRQHS3G,T7Y
M+G$=[5&_J[OGI-%*LM)'X &L&V6* S B91B\$M%.?%BK, M,9CGB?L(^M:$Q
M39-PU1VUC:-U&&V :1:UT+R6+:UG$I=8<L_""0I& ?!>B+B^7E&+/<AH7@C%
MX+E<U\USW7IT=SJ\D[-:*9?C-(ATBR9'O G8B'%CFI/UDMZO%[!7+@.V95@6
M=8<R,I2*Q;SDS$LGTHHZG@(M'2SZPHH!>$IL7JN#K[N?=9BI+E#W:KLYY 75
MQ1Z-I6;3M%LJRMEER:UO;ME5O')><0QP=LT^_)J&AK.Q $2F)06+_=G0D$3>
M]N[SEX>5GU12>VJ;6,V#KH:^+Y)3)XIV]!MJ"P;LU_?P=".IAT+>.C]1F&HA
M45$@#E&WZM.'I3W0YC#T7GQ":K+&Y9]:;\O^_2< '^G<H%G8,T1 *"'08'\O
M%CP1M7NX28A%5=3>5),SM8C F%4Q9C?Q4T@\',6]_'O]^EI7FW97'1$'-0T-
M7W47]*QPB S4==/R2-O;'MYQ7$(-SIZ!+)Z9'BA4U8M]=Y*H]2&LYQFGN$^$
MHE6HWPV/=A6V.JI2@G(/AP4].N& K%W*)G?\ON0.]B,I9E&TI:%-P6D&B;SU
MMV_S5]#>;6ZYGQUW;%>O^8$:M>W0CDZ:=441/ 4(FDVFD^9V]LZ+:G7=5G2Y
MYO93E*;2<.66C;UW&$8+@(6B<E#J$$#_*R=*61J$Q6)K).7228"%F">)0-Q(
M#.O<$N#?L[-1L!$!5% J2U8$A"J)T[N;O5?&9DLW)G\%E9_"'"60;BKY)FYZ
M@ RBH?NSKO.=UG][]2WM74'I _'=KXEP063/N);/HK6+U2/?]WPGVG$D19X8
MWUZ O;Z]Q6CT!#0M^G$^^Q[V3G9?8S#HYP7NLJ)V'0K/'H2L6AAX?CD<J*?T
M''J$(!)V*G5Z:CHZ6E2\F8;)D4VKI?RR\PB.)_I_7C,,^#Z4YF (XZX/%GU2
M";SO;Q+K1<6^'R@/E>OR8[=VT6HPBY-MQ(6 GQ0E@O[K[]<W91U!_'8Z9R<S
M,&"2QQO10XIIF?<X28A8;V'V9'GY'>[.X?3L*:'XR7>[(#)+C68%K-YE_&WO
M8]%J)##0P770H>O7M]4>9O5 %3YZ;T4QST:E/\%AYRTV\'*N#[)J[V+/0UI8
M[=;7=6W3.>)3-7OR.SK9K,GC8:C'T'ZX5)K-YYMLM\LTM+:;=<"*YV&O&KG5
MEE;0W,FF_@( *?@,\_]>!C+61E0*;%9B.OK9R&\5_X%[YTN-ZZ^Y[1QB!0%H
M=:CKN'?W"1.^+U*R]@D!;>L,ZD_[#RDETV(G[M_9L/N8.VS. Z_&@M;<;FZV
M@JP\8?[$'V8CJ"-@'5/L! =X[8NZ-@,<G?W[6\94RAZU]&4(8?X\92.ERR R
M \+&@IT#"$SARZC8E._Q-F$?\ T]7%<OX=]P%"X##/]J.17V)&71TM%2)K6,
MS@G/SU:?\W[$M.-:TUO#@\P@V"YUJU1J<:@%C&H?6WIIZS:C"&O?24N%RU(3
M>XN3XX6NPH:ZWTV@MCRW0Z(W\J]  5QLBV6:G*W52F/"/5$H/,CCX;&W#!A:
MJ^.V7(3#:$QB!(R!^8LPVD7<:)>$ 7U LV,N,]J%:\RT5X<9[>+V@BACB.K.
M911W%QBMA4.L;MQUS>R^9F_"()3IA^W1<8W-[5O@Q4B$HM=E?"^UMA=![OC!
M%;W*EP'_0 NA/5E<3U/X>+_.AIY18&&B.^)^MWD(RR[ZZM^M9R/2X^.!OG28
M7MSQS&[M8C&P)?+!U +*?FL(2ZF978VY8)]HTX:+#2>XD'AZ?#4[OM[1T;N;
M;G3ABM%0@F=U&A^']Y_B><B=<5X..]7Q!FQJ/[\0S9-=AT>I3T][9H?K\T6K
MQT!I,+.H[Z7$9:77.9U-JK["#,>MJ5;[4)I!U'9>RN/N_FOK<K7WF>@Y6K^#
M:IO,H'A+X_=85VAN<'?K68A-6N+8B,?]HE1K[7D--?):&L]@V_0J*0$!PFZ6
M75 L&L%Q='H7_-'-3[_NM$T3JIJ!+3U<)_1!W6+7;6FM>5RKEW#U%*:Q$P#"
MT[W_FF <2&Q#Y71O'NM "M;+"0Q[^W;U,AS$+B+\\E(=#FDZ'1K;VO/;@M.[
MZ]E8:F1ML%_!UG0>)_Z&SF.3KEIJ9!.Z#[XT89STX]_R<IA-)7]:N]@3A#AQ
M+"RN38_*]K8SN/IJ0)?BDYWRKWZ:4T\RAF%(9&D9B(JJL5?5-IOF=2].XKP@
M>6/I\O8.UHUJRI*R'R/<'MW5W<\^KI^8ZZ9OM]IN#G&-[$GKT7N],6A1S+.W
MB&^=*,F_4<7(V:OXUL1,YV?VZ0Q9[--S#E455!1G^C/!LMH-!U9Q!,1>O2Q-
M3EA=Y&<1_=YJ<*EI.#,[V;Z8!<9K8!JN=-ET&7O/D):9 5FK&5?73I"N(9\Y
MHD_9VHNY=^>YI,2W;N[ZMD:?B-?.J[])-[7#K/Y]MB&\>X;NSD#Q8>_7._@(
MEVOZ/&0W>)<25-O'XH[?;GGXAT,@U/6"A"\*6&Q7%F+/WA95%'_#_+JMGW*Y
ME6XG'\S2;O%(5?;&$K0M#>WYOTIQ>V<0\M<(D-_4VJX%"DZ,R\TV"I]YJ;%V
M?:6EA]%LC?-7%FK&(9SK*MJT-IW#0=]]IEM\!$KUZ)JN-]4XN#8B?_GO/CVH
M(_>I/5UO&(U9J.HRMS /T;C [7&^?7O;>ZJQ)W-[8EFQS:Q6@K[]<81C5K1
M*10P8#6:*$Q6JR,',F'A/5#7!VP8&1ZXF.<AA3CV(SFWI*(:W)"&=1Q 8)ZI
M&S?XA?UIKU2-O//4F/&KIRA,'Y_4ZC;W[9'2?3H;U0,N?((C@=I2?B8UM;(>
M9%$#U=P?^V,@D?G9/CM>3-W]-'\6'=@X]T_^=@N'3N#]NQ-XA '3Q4E[25^-
MA.U'Q=_A=1IX;'?Q?$#L=>83]NP\*V7CE#YH KKI "E@"$9)L9_FW<EJA\L$
MFYLPH9=@Z+OU=2T;V]JS T6/3B#L]*"YT+WM.<*&?PNI-8%,@1,9PP[)(C4&
MG(G:V4SAHG5(J>YHHV^VVM+0G2H428YK_E?L1,V)[(U-M9N&),">HH'(]*>3
MG2CI6V\KZM5S?A=DOVKQO;M;-"]1K007S;I9X<"O4/V4P7U )((+_OO6A_9>
MM&;F2QOD\M*?F%V]N4["* I?Z'R>L.G<^/R8S&.?ENMSXC,-,Z^;5.NZTDC=
MZ/OA#C\"9@C]A!HB>&J;387[RB)P6JS?=>UT(W6+\EZ,Q2G=F8_86SPZ?D U
MTRAT,?:86Y(G"RH':]UX]Z9E[X4&D AT;,T1L&H+W=O ?PS\M>_"><Z1D, R
M *=Y5TY9SYX6 S+C) /,;XS 5-O,(&ZQ,Q(A;@I%Z!?0.);^;+Q>79I*<WNS
M+B/ZYGX$]&YZ*=%7>*WBV-7:VIQ?AP'>\=IE%_">;O72-32V-OA2%$ZQWK=2
M1AL*<+D-,@VC83V(50E&S')\DP)HAOJAG[+@X,N JZUP%]9VR13>IBAV4]PM
M7B29DM"S*GU;CQDDL]6Z4#N;S^_-^C7&ZY1<^>NF>Z]/3YMB9=HH>#= QV[3
M;OOWFT\.3&>F>5L/>V+4UWML=R%T=+(?5G$9;.F-=06UX3ZWWN1M/>S9=<+@
M,4/3[=#]ZMO.S"[3/[KX%QPG+$<!#+,N XR'7RGZ1TE/D46.6,'9B4*>1PYJ
MOHO1^ #J$^NM9>8UCL!>")"2*U$M:M04$]3>:2(HB--N*(A3&V'DB]AW;AT7
M3"R-H>35-G8_K I"8?5 >6C8U<TG1U-MMB]M'YCAD>C>FT_T)749B (Y_T[O
ML_\(F=-^Y?@O;4@ _3K:,W7B@$XDA)$LO V=R9AI?L]8N!Q;U9)^?2U"WS C
MH@*^V<^EUMW/7DP=5<ZYQ[7UV*XTLX<OD7G5V8-(P4EEB7W,)5#Y]+L4^Y%$
M[;TOR[7N$JHO;" DM5P$(7>.-3TY]R%E/>(M+ZMXU0Q@W=#88E44%KF^$X"W
M\*AORUQL;&XS3[?D"^KXOEHZS-8AHP:@BL#@7:^D<PV$9Q&^UB-2;09!A/G1
MW;$'VWK,"':TL_J@]CHJ6FIDLC2".^?EVH%[PR$L<122ZIJC\3N[65P5$</7
MZG M-K(W6/P(H[C#6WA9BQ-VUT\Q[==W?EZ!O6/89B!4?CU(P)&6ZFTGNVOG
M'V'$,)CZWSM[$SY8R\)@4V7?BO0S'.!<,!I:#\>ZIC;UU6Z<Z6X5=@ -FWI1
MJ?@=&^-ICS=^KZ[V E58V G]'L2;O'R@M0>N].ML/,.,1YNTII>))G83?4\<
M]S?LY06'6B>[K8?N_(=D]83YXLJ8T&:[:7-CJU[HDC<YA\H6WN;B+Y26W#=4
M_6J%85A" X()AU=A:_%J&QR$;>MM4]I<Q_G?M[?F'7[CTQT*S9KW=;G);.(W
M.V:TL;GN\&>EIJ=:R)-O:TP([EL1M*.W18.B$\0<0'F1W(9^D%P&*W_3[FOI
MZ&3?FC# LM/<P[X-0<D-O T%C&B7C:='UVF2E547%7_$U"6M]NEA'R*,&_Q:
M_ )U+6V_44["((V[*G;7M[4]],S VG/X->V-*N#W3_3T[@K7+S2:A5E>9L&U
M/;^;VQN=8;JVEQY=5Y9"!"=$QWNGJ;UEE*,NRT"QD?TH4.7:N SHJ%AA\/8*
M1/WZ:MT\S",8[;ADXA^Y4.(7?S^]*8U8^8-N/5'URZE/'O:'%@VQ3S^CWYTX
M3C.S/B@4:?D6[&Q^L,9@$1\)YYUEJ^\^([&7326P(>!9$SUW&'D:&L_"J\*.
MB)@N!\P[Q))53+<#_?A[D)R+D;[K\FIL/J?W7]=*M78QFXS%':IJ,:#F3*S&
MMH8NB[/09==[CK5R07]3=T\TM;3]Y+B#7,(^;PVUX40QYN?=,>;GUD_)D1DA
M%V&TQCY@Q<?<E>D+P*W+>K!<<WPMFO"W?N(0%J'L\2%>\EA9[R1-;L+DKSBY
M=?S&--*^W>=0N*5:,24KJ*'F=32],883FD>()GL8R9@*B 6^QLE3XU[OU?4P
M/4Z96X?>L]LP=LC/49AN:8]!$'Y&AV ]85^M'M6<(]O4VA0^&\01TGU[&GJU
MF&SJGW7C D&, 3<%ML#7U;2: ,2VOGQZG:&M5Q>;M1?"B%^,=]B%$*_,HK;P
M_D&5$1AS-^SU8#)S@+]O5P>GKRLO"^3>X00LF6' K; "KK1N&W7TL)=I0S^V
M./'=J[Y%IUHZV'XHM(=MC0GYFI=3X(IJD3AJK9_0V<W^R_^FL99/H8G]@8)*
M&S]ACP'D=@VYV-A>E 8+PZ%:> ZE3/5N<.,&L!GX\9Y<8(#G86BV$.ZP*S1N
M"NC00'E.BC'D(CS1UPC897F- .8,Z;)&[4/I,(&4.VR+>F@;4H&O* UR^Q0&
MS4&9E2;V;C6J)WA0Y8E^;'F,Y?DKO(VPQV/4H+2]F-YRI-551\EG;>0UZU99
M_<(PRD[5.HVJMMUT12]8NKK''FUT?SB^=QD(LTZ+27! =_M)=OVRB1J;6W6&
M<*ANC@7;J^!Y1R?-^ZC-*J:8PL2K=[%.<,3M[VGMOAI#SBKZ'G](Q^67=.\@
MP&$T9F18[&U&G$%(71$>O?VIW=')WK,6L,["+?96V'T*0A(^[EA-T'9_=U>O
M^4! U"35MI?@[$] ^Q5:+3G6=F,VMK9X03*DQA@,V!C*#H(AFN^4QGJCP_I:
MS)9(''KG>5*Y:Y6EH?'L/@K G6PUCO3H:$\HH=6N0N%0:BY0WR!<?P*Z0^MT
M%%_'91R\OM%<5H9@.(8C+T7+P_A:@C@J36>VV*> =DN(W>4>/@BS<4:@%590
MG',(:@ZY79Z9(3UG@0+;H?/7-CV\L-7;;"W\$LRS@-K2'9W:S7">M9WD!7:6
M8GBTKE["IHTQD(HU<>%AQU>-D/ %SAR96 A!M:VJ2J^N<XC''6=,[%?S1 N3
MB0(#S[H# \]L*\RC 8LE)K%5U.1A@YAE1%W51L<U#@^*DN3AMWN$V/6E;%2/
MN:8#WJ2;1O#CXM_G4!ZD]1U<;6?Q_:Y&T#6^VPN-M.<4J]1[%39NZV ;[K(U
M_:-_LL*^U.9[-XPN([!X?(SP(X.:I>M/'Z=NFV7<WG@.;PDX1*22R<G"EU9/
M3B FXR9DX0B5=RXS=T#=W2PS5/=JZ!R:YH/K#'-<C!J(@[HLAWY][!U?6:QF
MO IE- Z^P4D.>[ *V8$;A<\^59=/=E]C4""R]Y- J>T!DC8%*\ON[RPD!<(_
M8#U;7V7M?6;_K+ZAU\WJ!9-G?!T&R5-CM?I]R=ES8<+APC7A',N^R7-9V]9L
M!G>YNIQR.]68=GMTFA$B87-<;;ZC.H-S1Y.U6<' $0H&,T:(&^.J(RREL]L,
M;#UB3*QNW?EK@J/ (=+& :L!!EOV.N5?5S_;SEY$[>7].+$?9RGC _&8>W8^
M$,M%S\MD)%'=CU:ZYSY_.OG#9ZK"7H>>O_:Q=T&<\JG;WE:W);&^[F!]4''3
M.3*&DCW#B_C.&6XK/ J>_&U[*$);CSG8C]K>4I5F,[JT\RPEEJ:[SP7=0L+Z
MW16N6XZABQ02LVL.HT$X(EI8Z ;0!9W)(<NU# 5I"2/IT<&H[?B&SM73@G[J
MONLT&I!K&ME]@] 715C$'92QN!W)%/TZSRU&=%APZ"Q#D(<''-L_SOK4@"B4
M@.CG9=V#IL45K:(TLY!=;IEZQA$]PKRT):"\;W][B%U%PRC/2EJNS\ 1CKTN
MP\&^5.QM;O\Q8!GH05(M*-9Y"_?K/+]:-]PL3CEWA''W[F_=CT8_'TR?'@_,
M,MP)W]3<Y?#<,;T]4+4YB,;9S]Y</=(\/:?WE9+5T/M!I?:9VR54N3<Z]-O!
M9&PJ%A CR1&&[OSXMQ.J]3UMG.BW5L]09S>SX-<;AQ").M3H42BVF@@IA0>>
MRI!4>GWQ-6^.FNO7T6*"V4.2N[692?=^2[]8;QG\XD0^7&( =="$.=N[NS4!
MO]YGR8G]*@*U=-"=(0Y^Y9A^8!=A=/X*V57@ WJ(0X(AFJ/IB!W6UY[> ;5(
MV+T-48R0:,UCB-IUJ*Y>\\B%Y=^N?&$VB-+6P^)=7C3E40V5!Q[3VTJ6GNZL
M8#* A.T"2GT=<4V.B-'D[-W\!="D%CB_FH8V5RTDSY"Q5!A41SYG6Y]9(5Z=
MAG07T2<O/(6(#VD038^"?IVM"0</VYK(* &-,R (:P]"!_N2;JZ?JB7A0!-W
M_7GS;-DZ40^[6L_ZRAQQ5>J?<'Y,Q*OP!J"LZ%Y)ZHNK=3:W=PW _ERNZ5G
MYFWYP#/V+P-9HI%JO<-\.&,H:EZ@NK-=9,*U*?,[D>Y(/]BZ==1 ]?"243O#
MLAN"X[O]#%:'-!._:%,V.?MC6R6:P61F4X"DTS'3V-ZZHZ+7\[JAL>83CEXD
M0R+3VII;-(SQ% E9?1GP\!NC76O;SBUT8UBLALW+/_X-KJJO](43P37=XQG1
MWL?BQ28"%=E9!]NB\;JI-+2-0@U5:#JS#^K;U@T=^J'7#:$_!8]_^08'QU_O
MORE($^$X3*/F]T^6IB)M*W\G#YGB'5&MALM.17]Y>?F.B0^2?_GTZ?N/\.>/
M"8ZH6@=4O_FWC!KZ%>@A1O#_^]>/.>=YRD!L#C]3&L6]P8)F]I0@HW6$!#7T
M*Z,WN12-L%DCI+G#C[PB#,K*>1RAC+(IR6K33$HA";T%_(D+&#!=U1.?S2IR
M/(P<015%&=F#$JV\$SE)]$$2_Q;Y 9+TT9TQ(<$M>.-L!'C;F.,-*"$@->\A
MD])HT:^<SF1?"M,W5R_AZBE,8_K:@F0"_S7!.&CTTW);R)C%R/&JT#J,T".D
M!,<H!3 +1)4O].73YQ^1Y(_8 ) < 8(A'/QLB'6FK)#DA2@S)+BU"H]^Y3P/
M?T_0]^]#F.V*M[_JGL#PX^71V.HG<O7A_\=B];&<A)A-@D1[0UO*^;NI9B&/
M&UEX'FT3WU*EVR%_\[=0.&K,Y\ZI(D'V"''"B%)&0/HP!")69<GTY2R:>T"=
MBD(.RJ@W@N".PC4"WFS3LA^44:"''5+"=5$^$MHTP8]4_7M[LR1V![ ZJLX(
M3)/"2FB_"+@AQFYR15A&@9V&FP<_X*EU/"]US'Z05)%*]G!$(2U2($X2_2K^
M:V"MRN7HF?4\OHSCE(7[*O9P+;</OV!#Q@HYC!?R&3.V7\.<W617SM02%^T;
M("[G@S@C=)F+J_ Z5&E)IZ"+HJ"3*Y*E6*',T7&+(ZKW;R!B8_E ?(Z)L+>A
M@=$^0AEUI)!'.?TCQ,%Q#U)8=2<+<")X/46<%_VOE'VKR!YF["8_E&OCOYMR
MD'*<H<'3$%)E2TR#9(D$3\29(L$5<;:%_9XS/D(K(/56IJ5@Z$AC),%4$69%
MW4!?VX:L/B7555V6IXYBQO^-S !IWQ-4_NIV.));Y4C9&-,_1L";%&U#;A-E
M9NM3.):BG:9G5H'^$6(<4!@AP<70DTNKE&0V N9W>!6$/:\"QB#C+B$2W<6?
MM:AI$<Z- )P=<C)^<.A3AF"C73.6!A2VR<0OV DK(M(/.6Z8D .6N:"YY5R0
M8(.4>>",Z#> .*M)I5803;@&N7J*PO3Q25%B1_D<3\5-Q.06.FK"68A?\N?)
M9+?49%*2MRY@Z92R+J@:C\3+_RTC'GEVC9.GT./F%XR5HH GNVICV6R,ZS.G
M"K<2IXOX*)"D3Z\MA]O1V%"H.DJ%,^45S:S:.'KV75P?1YWAM_(G)%.7U;]#
M2,9-F/P5)_E[)*?$.Y4C_<:<%6P * VB_/7C*L.A_X@G?]H=S,3)G0ADCQE=
M)$(RD1*Q>82RL7)#P1'*@K&% >$(P7!INP3M<(+R$9MZ3<M,XBR"\AX_,B/J
MF+V4OPJR&"\4"[H'(Q IRY)11/>&9*DQQ=9@G[\%"[,&L5JLS2@G3^\ <UZ!
M8=B-LM+LGH)S9L>,&\K9(<8/3AZ.9H%4SD<(F"+@^C;FHG"CT3,>.U##=VK9
MV'4"=U"$G^CHJ8P*HK?S*L-"QPC#6+ ;.>.!Z(Z._WR@LA%5K )YQ.FC#\#A
M6ZJY.:_H5\EF^H#)?9/>KIU7J,62J3!4274CGUWR $@P9NVO_(T/7^XVRYR!
MZ\@)@I19&R&KXR$%1K^7R:E1O]0!J3H8\Y;7J6E<'Q,#4\)BE*$A&-OT$;K9
ML_$LC;@_PP\]EJ*35WQAK=B8?X[H9S%F-[$"$<@#H]Z:/E_1,W!Z$U(6S#SB
MD<RY";/.$6(,P9<E68HX*+$=&%LC7Y%JEA\J)[?5W2=.E%PI7T)\5+2^G^!'
M/V!.JQ.'@,/J0 0[#[PVL<ZYK^E09"*-HDRN<<D",">[[,=_]^D;)G*?=E=0
M2QN@%\8<)4"6?U(H(\R\_3>+7PY3.M(M&%5&*.'I%1$%X5\:!2X]<#%"JII0
MG 6Z"\"!*'4=Z,FWP9[&L+1TLV'6MC5_3,1(,F9SHK!&@C=R$I3/X1N?*OF%
M*\%[2@A!/I#>DV<^?"W[@BZ#+3V@V.?S97Q,$*.#OAS0Z"O?/R35 -$C)(0Q
M%M2SM[)]I25=#4BC#MWZ1.C6J$:W-IOF9GRN=#U!C$Y3+^3/VKJG8[82Y'NB
M#WD(5>R_H@VK3O+MVQ&8R!,/&!XIMF+&\R@[YW='* G1 Z:[P/=D4)W'#<R<
M.S/)3>JOY"#D$DML_#'/Z*&,X.S'3FJ';2;M1\?X2[YA+H<K:4X6G-+V4<5C
MM:>&#R<V:J_7*UE1$P)24X^_I>B"9K^1PHDGJ:B\#EM,TD-"6PZE_*4C(BSR
M4A):\HZ6(EX"-#M&VE3(A$;!5"O@D9!"QH'8SOB_3[=;DL'[[AW_PHD8>XE(
MM!GNF%DYK\JC]0:/"C*7I*73!YP]"O4C=(--Q9+KEE+YOC(I$RH>D9K@@0E$
M^J^815^R6F)GM'FSS:/.\C"%"@G,#EAFLH>XAJR@5S4@@R-$O,+LK<61'R85
M8'@]R;TNNW*8J$P:=N$'7$J1C8'K,=WA&^3G?*<-9I]^"@IJ*8B]J$N:9N /
MP!(!SYILX4/?"62^,R _Y@(^O99GB*3(M;O#&#^I&[K15X1BFX0M>!,&3OZ;
M%?TI=EP6"#C>-'0:$LJ<Y1(]XX)1E"&R*/_FD4#)DQ.@0J<#GPRB:QXF1RK*
M FC# &X/?CY TF#@9>#HS$RM(YR-O6&8P Y!7OZ8I@^U( R.V?7ERQ&P.5K+
M,2 G0VB?//AMLKD0VT+01Y<%43,6W"U@,/J-J7;+=?&@&WTI,WUQN4:5(\_(
MK:--)J**$]H2IP"9-/Z MH$'I5$44BN%*<-(M6C9+BM;-O;Q6:"-@#C*:!^:
M7*1;)!//L0S_6R8=[!%Z6GIP,9)(H8G.)HP9U29%]AP^R-%7'"LH443P3 7M
M/H7$HR/A"8@W88(U^UA4)O\B\AP/5C!Y4/-L31.OG>8B%<[+-=TCD>^0F"MT
M?OR$/2B/$N?%*<8%[ =,E7497[06C(]*$?R1\X(V<B12R65C08\PF#<R,T29
M%*H%<I9(\D24*<JX,BN%Y(L88Y1S?B,34KY#YCLQ)<PEJ$575_A=RW$G>!RJ
M**0@!5I3^D@R0"^40Q9I8M9CG.?C@]4;WD&926,\ZG,AR?[P1"$U4ABSLXAW
M*6.:7[!C+0HE?[="V* 9H=E7]37&ZY1<^>M];Y&.+%=.'P&#0Q12_;8RK"U'
M8&TY2IJLQ.OYX =HAYUH^E#*O'X7 ^S4<N0K98,/9?A%2.V,ZJ$,GY3&?60!
MAS4',3MEU@!R&7CX]3_P**A<@5TF*")&$E&:LQ>"V!E_=@N5/)+)J1-%.S]X
M9-D/8T)[R@[((T@*DM1E<H61R![-,I;]S8J;_; D(;T7:G(42^9S2\:;LP6A
M6(57GO7@26'<QBS7U>HV6=3SJ;/UZ4>IP\MWR@J=Q@"<F ,!.3R<",P=)(\;
MF]R5-YW$V9U:6]4G#V@7;$RZ\\IV_/&^O*H)WY0;3XLLS9X(6V+HC%BO"&4I
M3'T*(1MWH8EL X'NR)/X.;+$*-6(HSF*$'4)#<#IFM*)]$A%N@4Z$$G4_>6J
M:)NL9L/T5DD)2KMXC#"/1AJO#2E0MSG9PQ&%M$AA45.ZC?#6\3T9""\0RZ#"
M!(1N\6CI<44/!0>$.6FN+(4< 4R4KN1:U($+7W,T-FA1<D8$/UY2A$T(9VGH
MU#0S'^T*9==4&)B#<(.S>K#CM6;((E'*RTZN';L<Q_[OO]R,.5M_\7$23(>*
MOO\@Q<3^<GF^0C>+:V/5W]@2+J/;*'SVJ7JFLZ!=5H) $C\4H8AE>?K KS76
M8)P.?LUFT*&1J2AZ">@JNQA[,7<**UJEASP^/]R;\R9$;ZP_("3F56C/[V]O
MC\S8%G.X4NGS]X.4"I_5S8Y/\#J,<)8FB>/S5WH#A9'G!TZT8S'8$*@-SOR0
M$ C]#JB4.!Z5^0H#0@^,,[W5V268 ._?T70450".]YH'3O!AY>7-L]G*$T]9
MNFEA*$B.Q8")HQ([ G$$,=@\ TS&QU;4!X_PP@8Q$FP.4TPR0$)S\1@5 R/M
MI649RU8Y('Q TC2;%WE1#4/KPT-'Z[(YKG0 GHG(U,9DE2MS,%T32$I4(154
M# M2QE%20D$:G2HA",U[Q*0X6$,)]))=Y3S0D-LI):F># <F57EIZMQ#<T=]
ME'5/\EIFW!J^2).G, (H4CT579R,GJAP"=HKLTY-_WZ9S]S(M^YX!/I\9I4J
M=**89CZ^22/?Y?3\@@,OC,:6*LL%>N;TI@68&#GX^DTN1C[G@9/"F*G"\LNT
M8]Z_CLOJ*<(3A?NV%;5A;-_(;)3@5/]H W:'RN!'6<[>J+JC5_7Y49 ,E4;P
M@XD<O@ED)$7Q2@D];+L*\I,F6A;NRX?N^_*A?%^*JGCGKSAR_1CB8BZAR$P0
M^RXSV8TK.OOX&#%O)U4<!%%>@P2)4GG@T,(YZ]_/+.E3*L308,=E@P,D<SG?
M1@ROA9>KB-)@>HT6Q)^8QYH('=1)C!2HU"82*4DCT2H921E!,Z67ZS1\QM'8
M7".@8<!AR]0E]3I=KH43?#__>DEA52G#L;T5#O9I0RQT"R76Y&T(4[@OK$BD
MUCO&_Y72W7(.*3-C#7 Y.<3HF;4K.A$ \$/FLGPG^^X8'Y8D"/Y=?F8=(4;4
M4#B.'H'4<JA X"!&33I6P(9CB'WK(Z%R,Y\0^[P/28H.IY9XL;)ZI&A!2/@"
MY<O0&@!5^3OARD#M.:W+5HAH'B.UH>.B#MZ?:\JK\/PUP<$H$VF>Z$%8U%[(
M:T@F(7W, .W#DTX^9YMJFBPS"<\GE9!I%S+",HM-B7P7*\#3ISPP=J0NF*%;
M9R''6^"C9BK)$-Q#E%:LZ!N7LA9ZO5G4B47,RLDNU[(V^<@D[LJ>S2O64OWX
M03"9UNP^A5S9[LSE6:Y15M!=9JJ;PHZ:0L3BUBRLF^0PJ4Q,1605@+'W=1L&
M]SA). [K<GV&'_8]4'@5.$$7I5O(!<HH@W >I7U0@I6^L;<G8*787XP>5?%B
M8^)EQC5_ W&('-9G#:XQ@+E:1O<X>J9']HB8"TZ9Q[MPVO S4(<@;$'?4$#&
M!%(6[*-<U*4BZE*(NLQ$G5K&3%,4?B\MD-&Y^BG3HB;/&=<F!RF+( F:30:O
M//VRJH3C],FFUY]2]/!T6G4R6S%(A%(TR%$;KI!P9T!AU":$\C#G0A0*]!AY
M:X^5@30,?]([MIK>5Z@8.G(_<:A:4P\/_;*()<G2$B5E=!EPB\ !KU-)W;,K
MHPKZ)4JT@(:W"#P>OWN/70B3\$??1PJ#(P0LF.]=1$+G7 Q>4O>8I7%04:^=
MZ#>LW+WCXU5Y6@%(N)&T#TT<^=SB9)DL&>$L(=A('=N\8.,MCM9AM &[+O-B
M?PW\A&&IC+4#9%4IP>F7,Q'I9"EE@Q+@@Q(P"#R0"2%()Q>Y_-S\'8E>6XB4
MRJUP$MD)P,M(CF2..'$;A?15O.&)DI?!14A[CHI^XI1 /KZ6$58,DXS7(4I8
M, ,I>!V"^)%(  ;X L9@\J).A.Y$ -2H#QD7)^5HD\DQBPE#6Q%\I12..I*/
MU,.45%W/<H29*N2Y(2&]9QPE?@Q8;6&<Z#3"*J01HWU@LI!Z,4SBN>; /XGC
M!]B3,0D+E]YI*8'->8;7ONL/5E-Y6OQY('%Q) >4A3U\4)@@P>5;NB\9\",Z
M<8AC %UA*L'O$R=*AHI^@A_](#AHZ57[16^YC5@U)I!5/8L4P3Q.[O $(H/6
M;6KY ,$"B@6,-:L#'58V>,X#)J6Q&JFI55>@64;XGQ.?)\2X#,YHFNHZMX6:
M.AOGU=^D&^1XSW#XL21G)\LX6#LNP]%/N5?+I7<FW:4(BW%2;=S%_C,\9\P7
MWYE@UH@R834%9O),#,D229XVB^Y,,!$]*^[8G9#1::XBZV.90U_S[, 9Y*$H
M8Y(IKV]^&JM*7)Y@RA__H9R>7&E[,*.TS61R<M6^<6J$*F]H7GBZ@G!6:H%
M+^!U3NZQUC)^^:84R)I2!$.)/FS?5>Q3B_0QC9/52_@W'(7+ -]#G:U%X-WC
M;<+,W?F?;NCIOI]YO3;HIVJA0PX;#$I>0O1/RA.%]#J)84#,(A_+(14;!'#I
M;-@?I@W-LSB!%0M9C3$0\9&@+Y\^_Y'-5S8"^-5/;W5J.DRD<E8H*P2\$&6&
MV$!8Y;]\C@H-8#@&JQUG0-NBE &/&[O#,8Z>L7<11A=IDD88( :=D1"@*G3@
M$?T&.0N6.+!F3!B>H(DK87*Q24%BF0DJBD6(T+P[=0(X.W0Y\01("-JO]WM*
M]/7F<G5^ANY7B]7Y_?Q&J6XW<"W1V67 K ;]^@"@-M8TD5,S BPW?O"D=MR&
MPB]O< +UCACPKH>]D]W7&* [LLB\A9OXSV/"8R@#Q"HJ21;P1/H 7) ??*LD
MT>2<#E=FU5(+@KL@>,IE54O^&!-U[W<-#WJY#*B&RU3 F$6>K9Z<0+QXZ#&_
MQCX<O+&LS+C@A1E94#;@>5Q0'6-,(2X-#VX1NZ/((;#A$RI)_AQ7A#E"6:%)
M(0\/<V<()0A$,H,6<9@KUUJPD\73,RP;M(9Y?.;HUV(\,\9+$Q/W"\-C@; S
M ;.T"N%7"J;(;.Q+O^30,1DF5!*R7Y= 4 [#^#35U-?#G95,+K]8P>%1W$/L
M"X:)B_ 3G3O_&>>HU?2:6:Y7SJLN1YLHJZ(R0Q\(@Z+FL-R'+K=R1:MR\VNA
MP P5D+CIIX*9EX0R->1>G7@JR,A9F.VAT7D%*N;:TA5XAP&\F06C\!R.U"$K
M'(W#4J[<A)'D@MR<#:)=IH]V.^0Y-:X7%MPT%;TPDPLI@B$FF7$X\RL=F-]U
M.+]7YO!X] E%9B$/?6#2)U^R@P $F:VPA<VV![A(V3\D:1^Q(C%YHL*6!R+>
M,#10HU%?^J55785]Y#4>ZJ53Y$)TC:#+5<Y<RF!Z!""=(I&^2W=(0JGZH\5U
MZF_#TN*U!3O6FH0OHF93G2EK<E_N]"+O;[(TY@R&ERG384195ZBLF"LI>MR\
M[/7K,":R2A4KN)GS,913-86P4H=D0G+BLC@;JQSY)H0L^)V[E].@R_#6B981
M<ROQ.FL2]$^?;W3K",OB 4I5Z_JDQ!DL!R//C<\YO.'T"+^.EY=O%<%_=UE8
M*,^J& =@3!GD884YZ8.4+#>IE,6QD8'2@:TRJOQ53PP90\6P)I%T=C@R657@
MY1KTDPM0R$;J.GFA80#H!Z6'4368XKX($M_S24I5*9SGV$.\_OA54VDK"?Q'
M1E(7= M&>LAD[(-;N/2Y$V&OI>"'%I.4Y(,X(U1?^20V:M>94G92*W9#P1>S
M8F='A:C'%VZV80"FT[$1.UT."!- P%J%$XLH2RAFM":.Z:E4ZQ;_@3TR.(6]
M6+*Y7+%;_(#8]EL&Y@J0CQ&)V)4EVVH9>$0M\CE52<_@>,>>=M201G1T]B 4
M7-&OC*])/=70C!1>Q>EFXT0[IO70[S--LGH*8/UAQ:B-O;&D;W?C<^RA$4=.
M=GQ*6H;""*=S*[*8I/@RX(@98Y;\#E,F/@N%R7%CZ/?/.?Q>9\BX3Y4/%P(B
M^8!-'2XQ?32I_L#E&AR")SOXWPOZT DC[9 ]1?\C_44.N67!X&%@(DIW3EP[
M"<#G"/82<\ARC@8O'5Z;)TW"30A/J/$&UIS6K(=,RJ,U8]\>.^QR<:I\^$9R
MQ^"#/:7G5X#)\OQZ>78M0SVNG2!=0\A'A",];A=V-KB<%Z+,T$=$^='_E3%"
M:*/P/%RY"YBRY]<?*?&/&6*N2OY@)93'(%O14[FBZ!Q=T_\]H_];*ZZQQ+5&
M=[@6BTWF%.?>_H7J[9]'^,U8XTQK0(-1$:]JX"(N(E90S=TMUT)!&X?2VU";
M=BW9,$Q&P>A Y25%42MU:B]466\-R5JJM#<RNZQ2:,]@CEG^O*\WB9^_NB3U
ML'<1A1OE,5ZU!NA^^=^&"9T*WR%DQZT?19/ZVY^7&AM1@WL!R<'P *"2S:1J
M6+)@1:H['*XY_-%)&$7A"T0@.UOZEV24Q[KI1'18.3<0FB,J';*\72>BX(,R
M1DARFE1I^QI$V"'^/[''O+"$;<"?1SH)H9X;2C/**,E)HT=*>^82_<0E"AA0
MD[=Z.X*5DN</78[2<\^"/-.;(F_"@!>MUX40U62S/1R J*GGS+C]-AOO['-'
MS6Q7%8ZW?K.:A>QJB4I02X<+J.J_8@?@?/;<=:W1"4=YZK'*^ @!3\#M>1,S
MH6H27SY]^7%*3_B"[F(/=O(%<1Y'F:PE(0249CMD8G*TE2)GA1HZ.WI6N'N6
M7U7+3Y5K!BLEP7(.IFI2:9=453[#X/$8,EI%^6=9YVFR!\)D4I$A2W=PTA7C
M?)I6;>H*5N<!9;J-?!UUC7):LQXR*8_6C#]N[+!+SQAE^!/[X_*TBV@;TF\
M0X&NW$ U?M]DA'GI+W-V0*T2D0YAC'F9P/H01L7S"G+C6?3!7B'KQ:,J/X_Y
M4<5.+3#+">J')Y\TNC'"1ZARX:R$A*>&)+S!20XR,A8*C1@(XATUX.+N@B'[
M OB$H=_,<^Q%XY_AZ6;Y:3QI\8R>+L$C#^CB$)WLC^*=+6":L,7@M,Q\(<=B
M,@)MNGFJ7_]&['!)?[8F&SXG?*YTQ'PJ4\&!8WD"[)N67]]'(\!V17JTL>_E
M%R?RP8]V!RK1F%0I20@!)6.I48!-[$3N$X2MXV=,0A87HJ/.J:3,P_5SVL9*
MG4XH8BE2.Y?3RQG,!0O=$IK^;&#RS8#A'[:TI)^@-?CV4W_$<93\'7)%E^MK
MYQ]A=$J'0=7.:'RVK:1T$ ,GQ3%/?CNP77<'"'++]==8N"'NL!M&'ESU-V$
MV=<<!)R7R+[P R=PQ^%1JX<J\#X.U\<IW86\_ K4]V+\4;JEBH'C<4V1A0'=
MGZ(__?#E3<T&*4T$92SS:"5K4'(H<YX)G[%G]U V  -(Y5:FIW0_M>X7.DT!
MG2:&;^X7IFF=39,YE'-I$/E//WF2'[0:WSTV03D+UWZA#)#D<(0* =Z'*"09
M()^A8-%2_O7X6ZF<A7T0 I#ZL4]^2\$5>P>O0QVX4_0@H>>"ZQ!TC9TXC?"4
M.OS(D9/601M[._Z, QPYA![H"V_C!W[,\N:>\;X5VA4CK"#-LP\+Q.7ST9#;
M6;>,RIY3970*Q ],*-)WS8SDIE-](T-\Y$;J<6+QL#*5:@8R+@A/;F[7*Y?Z
MG;%O2,#H8V&7^<!="8<B52FDN$$X,^4 V /ZH=N4^E")_GO=^CSI>+P9>;E>
M8S#<(Q[R!P\DO-F2<(>QL+'G5APJZ)N=$WVFY7PDAHS*%VD4L*(W[+'TRLK?
MC%=R,JI'2!(]*N8#'HY<I"22>/5RDL9,RZN(J5T[7F"0 6&.$D?2RPH)<FS-
M@Q.GB)FIRC2U"&=^+"O&<[0(L%*FF.5WC9&B2!?@% 5ED3LV^=KH%(S4RA0:
ME^DV"M=^HB-@HU3VA?Z3I"R._19"I^&P3Y+(?T@3YF%+0A8$"8:$D!"NT='%
M9O6FC+PJ]A><Z)=YOL(6G..&XD3V'ZWEF!PZ<!=C+X8$7)WQ+)(NSZ7E -V"
MM+D8#>W"E4 @% F;=&4&0\Y=#EB&Y1A$[8ZS[WOA>3X,PR&WCN]=!J+:L"Y0
M<F&/D#S0EC(Y]L%\SM@HF.7H__[TW:=/GSX?(4KUB/XDXU:<-'D*(T@7_!_H
M\^>C/_WPI1C1PEC0/WS_Z;/\@XK7[R3H?Z4!1M]_ LI??O@?LOVGSY_J"'TZ
M^N''GQH(G6&7E][^G@WSR_<&0GZG6[-R$I>*O1ZK5T#.#P%#<(&<RO4S6VEG
M^NE04S#WFA#CI7@F_:P5S6BOV3"B $TY V1OX0U$(HF<2_"(PJN;GJ-C,6^4
M1$[P<!Z.#,I&561@SFR%K*$-J4TLTBG1Y+J2LP.-/P;SONM&J4/&XNY+BA(,
MDM$TB+H/L0-!$D8[JE2/%"4CQ6N#&JJ$M$@VTBJ[I[VKC"RXND89Q9D/7<Q\
M8<B&X!Q'C[V0AVQBSGN%X9^+)PHOYR.C BFKD6_6PC- :-AIX%'M^?S^]O;(
M#,"T(<D+41?RR<=?MY(N0\P3[XHW(K7TB3 Y1:@\YR<\&S*.GCX36B9EVB,G
MAQJ[2,&>?^T'@-]T!\<?D8AV%THZFQI2QM+/XG'8Z^7@9P5QC(\(B2$A/J8,
M9@^MPTA)A2M&XO&131P7;7OJY ;3.66F\9:M3V(31'=I)AFK?"*_LI.ZE(AI
MP%Z*P4(DO/99B3(6@GDZ'IE!D)?!"5P%Y2Y]@2$@PCT/4$Y2%%'FQ;#*CDQ"
M3OT(G9J!:]@[$4P88W]A\$0 7BN@=%8A_$K8:.&+*-5:E];;6_I2&N6=J]2L
MEQ9:M 721X@/C9>^S8?S/J$3YZ\JTY[!*R4A^W66X EBU-2KEZ(@)HN!^HJL
M3EZ$O24=P,K?C O-5.BAD!)$0-&@'U^3-*7:EYE(2RG2I/?P*=U#5 _3@-PN
M*<UXN*0X4C,/Y'%#+JG)QH:>;7/::+E6CJ7QJ1.$L@A%T*IZWC'#E_)O!6NP
MT.D@1":ZI#4%R8WA3@A<?!K&2;QO);6,"F)D9C[H4LG!"![J<2:!.Z4$K-9/
MM/O[]?6805_OG&#C3';B[C](L1VN_[JXN5[<&7!TY<4A><3.#4Z6ZY7S.M*S
MI]2<-!$7HU$04B=#*9H)C/-0KMEY/:K$,=TZ)EY#BHN2F\240O<Z_?:YQ4UA
M8-%+KTG8)J]\@[@V??"C)6X*I3FJ"4HY)+E(S^6;UAK'2V LUQ?TG[] W-%R
M+8W1H'+Z'N:Q^9/4VP2FB'%E-3BD$;S ^"V(3XJ2+PN2+YLD1V7#[%N8BK+U
M?Z93T@,XFB-/$"?65*&^O;XW%-J@_!!C:*1H_<2BD_VD-I9_>U534T68BHW4
MD)$&^(>LKHH[<5T5$Y*3HM"5:C*"C^EJ,J6PI$7@W3^%40(PFQQ:@SF!;D/B
MNSO^O[H.0!:_A'/6S#P0 W,.8^KG[-&6<9[6QVEP)@J*72F,BTT#X\RQ3A7>
M;T5\TB#YHE%RQ#G*__QJL*)6N3#YJ#._IC2YH4.=P9B(/"SZ"!YO^X:7M*!W
M$&,7*R!3T4YPX#Y1!>PW8V;ED?7M3G;U!,8:IQMJW?V.9H.T3H0A8[2:B00!
M5&"K6#)L(RH\0\ 9^[%N93J2LTX8'*Q(YY_4Z#N=>&+5BDE6DC2BFC,09W49
M&?G#$U"UR_:5TE2:!;VY1]LJ*0WCYLB]QUTP.[*1F[<L[C'XLJ(YQS$2<\-K
MK(9-?RZ_]+4H]UD=<*-P&$;$)$4)11WP$O '^U?%MF%4?\^C+NO#IO*,&F:(
M_@KEZEB\D0"1W$UB_U6LW$C)Z>$QT3 &"; Y^<5E>7ZD@;@NZBL/%3BJGZ2C
M;)8,QO)"1;=SJBM"546ZN@SA$Y\YB:,A+)7310IA!)2GCM34+1*Q*DU>G(9N
MIQQCB;+&H^(E>%PTSD&;/$KQ$(0@ZO@5T*DS ^.',!5ZM, +7D>\7<S<]X]A
M2'7A."23 T2,'CXICIRCR1H)PA/'*!U](61HI-56'LY03<1,W)!.8:32<M!"
M%!1,D:4Q<3AGYON755E.PR# +FP)@&)>)*LG?.U$OT'DCLAD9#>Z-O"0O/R*
MFW'F2,U.<IP\X>,-XYY9->(C%-!_3II9:'AN*F&Q>?2$G)Y+"*3,I@>XHT5R
M3/D?\P$HB;)O:69(8</,<D9 PSH3"_B_4R>B&YWL[O VC$;IBY(DRF@B3O0
MY""61)B^I#I/3Y&EJTJY-#]3^@EH7EFTB=8,I4<@SS13M(:P$H:H5,B8B3"K
M%3G?^E^VY[?F2;HOP"N'KE=$46/>R^E,66VQFK0E)A53V)5HH6FCHOS'P%_[
M+IB07!86#=GCX'_U11[JOO.:$T8Y921)3PT2.9%P!3O/FY2P'+^F".GD0FZE
MD"RL>K*(C:S2P5CWIZT*#2,<E8WU&8PX*OF+^&=X@4.,"(Z>?1?']_0M/B[Q
M@+^/&5T> B,H(R!M##Y,EVRDEUB'(T^Q;IV_W4I0!9XSGT 2)RAM_(8TXE(N
M5IT&4?<-RBG7F 9:\Q]] 9N_5 ?<G5 "=KU<U41* HH6(>$+&#:H(N/"7?$X
MZB*]JH\0/8(2!((\_!E>^H[D?*!B$T7B924\E.4M95Q0SN9 I2WI$G.1NHK:
MQXP)XPJ]5#Q78<0]?(:JU^@1IJ@S%2IJ1[F .=(O_4+78;1A"Q=/B=!?@M91
MK$Y4<'KC8>\BC#C"C8R;F0S%R55-EI%@SY"(UAQBQQ<C,(76-/UL-&$*%8QQ
M=^I4"+0AR?[-S 0I3<*R:1(NJI,@LGM,QD7 V  *!:"GME P*>%0MMACQ16=
M& I;EX+"=7CP)%?$V+X=*4F]@$>(\D22J2@N"8'O<$A6(N!-Q2*W5?W0'>JB
M\*(38"AD?!(!I<6ZH[Z)B2"4' Z"%=V@FYC[,^C/&LJW":ILCV9T#5=(U"B9
MNB\=B3>\D50/1Q#28W4LYD;^'(VLN-.5$<D8&-I^VN54*W0" >0Z4;1CZ[@!
MX^FA"40&K)GA&,9*5<#2$XA^BK51C?H#/HL*\=8)=O\2<_"&8SH]"0$8MP?B
MBYOD[OXK]]_]KB:LQMW6+P(4SK_YA(6.=GO>I*#ZB16)%\^.3V#L]+7 G'_C
M++:\?HZDR=YA;*?]7F9#GT^7#XS%\O%9711F]6<3L[K"FVT84?V:.YCII&#_
M,>!AM>Z.(2H2/M'>/U*10KLOXJ1DE648"6Y(LD,*/Z0P? N34$"I$'*[4NY$
MD=O)>,SVB^H,JV!;-YY5V,K/9F[#0YU2?:=:ST@5+L]\(E7D"F:5#+B+LWY!
M;T(&*$#G'V2.V3-"_3LXX6["Y*\XN<-N^!A H3DN)OWTQ:^@W:@D EX\/ VB
MC 58C?,E \_=D2RQ#1=*E#/^?<]B7STQ&Z#<V\P)#U:X'8,LD(,Z$GN8S?*=
MN5F^=MPG/\#13LW,&V]9O7:"=.VX":^Z ;KQBLX"LPR8RCO4*!F10@F*I;1"
M4W;2JS!X9$];_IP]V?V,0WI5;9]\=P'UIR<QF )3Q!_4(E_R9(=RQO3XN,./
M!C;JM,)+AS=E<EP0]D$5%C%.IBMU++)"H_*]$;,J&*LG?!EXJ<M.&LAW'5>Y
M*N.2OQQDN0UZ]Z*<%:\89*:VU;2BJUO^RZ<OG\M"'K)LY5IJQ>7EAAU1]PJ6
MU\\EWU*>T[J$)Q:]6.^K?F.G31M[<K5FO<9NLER?O[I/H";<4=UT&8#OK>3X
MRXU)PC%8_,7XZHU\) RN0XP%P6!0&" .*E&M4JD8N'B3DM6KVN,TA$C<%&Y^
M$1863E=8:T9S7,BCSB8:RXF.8*+YSS%,N,MFTZT#H5,"6DR4/CW#O/S%RGGE
M5^"5[SQ  )2/XQL\RO ' 52>((\2Y]5042/-$DF_JQ2$DLW\"Y3<@4FC>KR:
M1#)7G18[D0N?X1E^QB1DVK7P)'*LO9$EA!EY]E$I#,Q42IA .-(A5^8AESB%
MXK\&W0\<[QY2!-@%>Q6ZW)@U+MT RW1I :<OR1Y)\"-#R0?\$QGSQ7'[BYEC
M<+_1RM>!D2$NHT<G\/\I+#=!3/>KQ_YQXL1^O%S?0A2C4&E/TIB^Q>/X#,=N
MY#.3(*\%7<XNTO$>9OP9-KHR O;!W49^X/I;B.-@;E5ET+^KV1+[1!W347$Z
MX.NLF47Z:S$VI Q.%N&NR58[ .?IP)S1WG/]$Y_K@$>OY?=:,> Y!6_XFTZR
MG;UGHIQ#.^EK&H)>XB?LL<RJ438@24EDB!DQ\6@8?<G485@*N?GE,;9PZ1Z)
MF?'^BO[BDJHK^]ZZV<FHT$2_ E7$R$Z<M O1B:=T7P>8L$VNPQISYD?P%LZ2
M]0Y! GE\L&A-04Y\]D8^$4UBE%-%5'&.N#P39X+HD:.0:CCE'I)?]@U^432E
M* SHC]QBJ!^ _PY#5AG92<@850<J<#YTH8FT";TTRVCCZ9JC#RX\C[:)3^F/
MRV@5OHRJ*B/0!P5-JAK#O\(( =T#$(78DR)[O[KT^$H):+ZR"D*Y5M_X\T1A
M@K+R"$H!/UZY3Q@>#E9B^:A?GEXVU!TTIC5QA7KQ0/5IQ]T;VI-KY;]*,@;P
M\5DU>V%AHR]IMC[<2'(3!NYX[-6[HM4?'2,"CGBH17.8PHFE$L2E<9(I@OQ#
MRPS.&8M)E9'_="(>#L?N69 R!T'6HE])!BS-5CS$E1*)TZI:^J4K!$Q*T2YS
MT4Q52M0O&:D7:E$4RMB)>.IL?; 0@\5FF:5CQ)?\JQB%E<)H>HCD'B,6T!=!
M+FBZ98'#/(\>C'2+^U/TIQ^^')BX1)$4Y?20I&<HP7OUA$6*3;Q(-NSA4\A/
M2:@B^Z MH6>Y1I2ADM2S6%T+<-^I@=M-R4V&BRSBM+(7RL2/].GGH GK84YS
M,;TI^"*,UM@_)&MP-N+I#<(',/T-6F[!=Y$Q^3W.TR OS^0SI2I=.Z&U2_ 0
M/1KR#JH8L,> !*DY!%F*6N,N>]#<'9 ,-3I]93$,8*(HB;[,V,$"<D::! HG
MNJ#+(WT,F@G.\);JUSX;Q+C K)R.H6"L44-7,<$5.G,>,SFLX9:<:@HE^?T:
MJ40+17&#)(QVU_3[BGR'Q/?I=DN@]&7@76,H'4\?SS%FT=VL@OQCL-G?>,25
MJXPI5"47;(^09,R!2'+6(M);86X(!L+H!*F?G.3IB]#BG*H!G".7A  !S"#.
M:L_UBCJE)T*+XRU4M?DW)G+-VZ4F[= P=!M3@EE-"ZKK1N$C^(9T@+/E=-G#
M":J.3O_9ZA2'-$K"B!HS*>K"O<@R:49E 620%4Z>F<-0:.:;6J]K'O29'JK
M']F@IC5SP3DKGKB3N4X*D*X-_A-#H3>3B$O4.TM0;_"E'+*8C2B]#4MJ$'S5
MYP@L +?)$M0><0#AQ3*79G<GW"+B&E^%69$TR"9_]1-VL4\#W;ODT+UBB&R2
M7'60F?]FEWMO(O'"34*EAASTQ'2L' $?"1<_: ;,_/P[F^X:#\+[-.N?YB;$
MN?UF<]H*B#DJ> 8C-_ZDNRUCC3-3+?IP>__UVP,1A[1*8J9>J#9ARB5#[0A5
M7VFCA,$$CTF(A(1\95%?0&<=CI<RSI4G^/%T9%'&XM!G@)2%%W54*MA0DA?+
M>C^2!1TFW=5*AM-R7;?%QYE:\_0I>N!6:AZPC7Y8XI$W*UGI5+(JX>CG<='E
MF4;,NIF7]FZ"G#M_!6SZ&-]&OJL7P \+RF@+I(]XF7'L?9R_7]G&5.JS2I1#
M'F#\'"PKEZ 5KT_*@9@@%E*V;J/P KZ\RX!]@/ KW8A:7P,G]5@X"&6&&)L,
MLQ_F2F2U?R 0:G[@4R"V5ETBVQ$3GW%""BL+(,D*@@8';$WV=3X7[-><E!IM
M^>?#D40LG$+P"$F)S#G0R]CP"FS\*,R,&FAX%3K>+F2&9I$KZ7)58/SI9<H\
MDJ,>I*IGT\@K=*^J\7N!YY;TP=[5XUGD9Z5Z_/0%F<W-3.9$>Y^1AA)669$W
M,2T^<_K+:6%%GISDF'[ZQ[S,#%5"!/LC5JW2""BR2/*,(<'5?X8K?KRI;14Y
M'I;IHS'*21^*,&)OUTA@S"#%M<V5\XKC6\?W1D*("=V5D4- SR2 V'A12)L4
M\Q]^,0J(R9 P&2#E;LHLXS-Q>ZUHPU$F+$$' :&Y#I@8'NL]=M/(3W:?OSRL
M_(2,FF!& !ZAG[]\>/@62=)S'CZQ,O(\/:VN*.,B.17ULO:ZP#F@_GD@@_L;
M2S >T8L;25;\GCY"YSPP0&#='? $W"=.E.PU!2?XT0^"0Y\%]>(<)K^1ZW02
MF<EP<0]2SH*.+H4MX_O.U@HM76,74;CA+Q9FC[U-(6 YQE!/95S$>EX]'8[T
MS \)DY17W($_\8BAW]-$Z;/&9P[.-1V=?!+?<H^('"&KC3/U] (0VXM/"/W*
M*M4>Q9_&V[8DI8,5AA3E$+Z :@U+\7<;1DINZ.AS7F9UZ !F5*F7!VG)9_@A
M$?H;)$)LPBB!N%4(/F(0H5KNT5HL]?LGRHN!J""?U>41,%/9&%C4T>]L]OK<
M5 -F;]J8K=E-7]EP"Q.WJ*NFOBCK-4JM1NB0_XN.E*7O(Q@KR@>K3#2K(L7&
M.RV.S.RF6]4?34[SY!J(Q#5?KID)^2DD'OTPM<!C%3#35>K_@HPC9V4)<5?[
M8J,VI+K-?^ E)];.")*K:NRZH/J@0V3Y.S<=+$$IZU0:P#A=6<".43X(<<J&
M/(-RZ(H3DO$R65P0LPQ0K3'R@]AW1S]=,TKYBRPN9'+(2*O91U1-,5/ZGFI9
MX%0V3#5,*E\%(P:1N[9:)6.4\[O.4B7V"\UH*S'CY:0/2B#2;ZTF1Z$4J=)9
MKLK*>04O.J@N5+<#];+V1!@'LR.YLE)Q+SD[X4=3,E; <<ZR5A%]EB<DTZ\P
MUZ@<5H_VX">ISH64>139)#7-0U0+6/16)H04MLL1JYBE\#FJ/^OSZV#NMV6Q
M5#C#RYC!Y5@M^&T$R6,&DUF?0%]0Q<3T3*^)W96+)FHLE5B%/8XSH]/!R574
M? HU,NM=7Z:T'ZUBDOX2&@!C<1X?(\PQ7Y=K$54_TGQ2I K?G8S6-PDX'FYQ
ME.R@0FVB%C3?ZS0IQQ](ZD>L FY2+&\N#EG3<0=32*P&'/23V7B@@5ZQU2.H
MG\!&CB#-0JK)UX(R3R//I7LTH2?H%8OT7[9)70"B]$0*-HA]X_=+3A*>AN!*
MFM.Z,'2,WUC)(6TC)LI@44;+3-:$CO$73<V@7,#%"_7:7\*(3&]M3!]B>GR
M%>59A(F>A1O'W_>AF--#C" +&D6_<IH38_MH,IR64T[O,(R=7HV -0)*4.J0
M%573/X_%P6'&A ?V$'35!Z-3?##&2KNM># RJTO5-EU%/HCDX!GFBQ@]=VU_
MGK@(VMR70WVWUP J%M[M)^+=CFK>[1FP53;B:KIO-FBDC!JQ8?^^%Z$UN[UE
M\W[P [3#3A1_F[L2)C\LP2G!)Y"0\ 6T9$A:%Z#4,9QT8PI^GY\BB2-TA#Y_
M.?[TTQ'*.**<)=.,)%-QODY:!CR.$@Z<=H>W(IJ.(3LZFSS;?9\ P$+9.*"T
M0]Z$07I3B5$X1W+:2! _4C !C 0A7FZV]-OG(1;EP+WS5Y>D\+J5P76C?*89
M(U!9_#R"STR=]TGE)'4B5H(4T8>,41:N.#F2P;3KJ^:X[2'\Q ]K?JG5@;F-
MUL8*P&Q 5J#H3WQ!:Y%%'D&'+$/5<K6D"HL!BY1V&91\)Q+&)FUJZ0/QW:^)
M ++( K!&:"5*$->D.H;Z'O4]WXEV$+$H8@3W&7\!D\;A&76,V,%(0&H&;V@5
M;G "+@VJP3S['O9.=E]C2/._9,'0=$.+:EL0Z#K.Y4 9<>>)9 4/W@_ C>H3
MWZ*,(<HY&G1&3#\-E9CT-=7R8Y['XF?".QF?R8%U+K-X=WA8G%)U]1' MMDE
M.=ZDF%,W$L:J5Q!2D6%RNU;NRF1^.$B^D@]N",(X3>,DW. HT\- ,:/_YZV<
MUW%.7.[V8]M0,N3X&I(EO&JD\B>Y0G"(,=_NY!-"1L_%&YB$4B!T[B!FJ,:,
M_>1?LHG-7U(63&9!</P*!F5=J7JN,Q^B6-]=H&:8S(<0H!]Y(1DM>(,JA,DA
MR4#*PT<Y42-E;>)D&_W]^F;,W%_[04"))\[,QBCF]OKRYN;\?KE:F(+#8H&1
MF.2P\U2!9&;!^RQB=+D6F4XL;%8/>!J/CGL1S&<3NVM\=L2RO\]*/Q"UV4U-
MYF;!3[Y+1@8$2"+&\,7&C5I=)4EI>A#5 .II1-CSDPO'944KKG1D*P(1*#O"
M22-)VT@>X"3"$46NT*Y<+#<=7*V0S#O6Y0BTCH$82PT^,N%,%"CS#PG5Y>GK
M(J87&?\)=%5OL8%HFKW1\Q_ X"W)(H4NXH0/2:@*</Y;$J[PX&()$?RZ\]#R
M@?@B !E^A<GT;OWB(;%?^%/AEBT>#X<P?%([<F/V+07[N>S1'(G3:<0:I7?X
M92>2"MA=AY/#<$?-QJQ/(;#J^>LELO&0=;U2D]ZB3BT70Q>^<38Z=%=&*Z"T
MYCYHHHP7,3H&J]265+AQ$;?U2IRADYN%0"]<-TJQ5RW*,&8G":*RS+N9,N;:
M)!&+P\/2I2AU128,V"PCJ MVAOE_+P,)PGWK[  >:"0*-B.*/DCRWT+2:@;S
M+5B8@\76+&IQ.W*9MIS6P0E#!BW9E+@VYT$"UBS/BZ >#_\/O*"_C/-.<;)(
M$#R2/R#V.%^]A <A$K$K2TU]G47@Z0/J*EJ),AXL7BU6N/P___U/7S[_\7\(
MN^.A2DOJ!36&1<8CV\"?>?KD! $F%RE9^X2 6>',AS3FAS0)(SVY;HP/<CFC
M([3.60'L;<9KXJ23J815-ZY"&*F4#U,RJ4:RY1,,4).(D^O(*N[9K7P(CTTN
MR(#/!.+9.2#]3!B)KTT(8F?\'?%O],E*G]N%^+=IPO\R1DKXW^'*K"K.(#C#
M_=BJ@J=2\'4FN&-,\//-EH0[C$]P@-<^*ZZN'U.)VWIK<AZQ&;"MR824>IN@
MCR0#@2=<#PTTN;3K-=3&DM%$*^<5*D!#$)4?I'1WB=+183!J+V=<D!+, HR@
MRE,8@"G9$74P.1B^H>?@A-*KB6N9]'Y6B(B5&3]<\<B>ZSI])FLE<^\>;Q.F
MD-S0AQ%]%_T-1^$RP/ O/4HMBX6(\J2^+>>+,L8H@"=9\A*B?U+>**3_@-\8
MR*V>?C(J)W=->J,R$S\=H2^?/O_T%B0GO86^$2]R!#P19<I_8\R6G)=A/$NA
MU"%7$=G XQRJBB>A0/3.7A M14-+72G&Y"D*T\>G*AJBF9 A,]-0 '"[_\HC
MI6+TR.'HV%4/N0$&,(*-B"L_ G6=.;L,EI!S/$(**!IO+A -IT?MN?+_*_4]
M/]G=P9$]\KC/B"%V=4Y[B(\;>=&25ACVC$=-R@.^FW+ 6153JA-Y/DE!F<G+
M'_#$ >SQQ(+--DT$FMZY$X%;.::;G.WO44%)*F^U]H+D+A-+,OX08"9' -\9
M_\:.)@[RL3I5C2&J>6$6<=9.&Y4K,DI.1ND,D@HZ,52Z>]RHRR'EV>@GKK<R
M;M2%'9,->?*/P_M'*E+_5N'"HP<8G3.'0!';R^#4V?KT5<L^@X>R.>$.=G+L
M)_2;BIZA;AJ[/^$=]1@P*J/K*BYN+T\E&O-#$QHS(.P+]Q] 6K.J+\H@##W,
M9S>-ZC,'SIT: ]7O;4Y(=5<U8GQW[*K)E>$\S?XT#&+?$W8/7F,<>\M@18<:
M.^Y8XR539L$"X&)LX$DSI5B*TR?#%CA"!3Y(,D+T9X65@<08=OG+]!21G9*$
M 4ZX$I!EIH1K[A_F;TSV1_O9,>)S>5O35)MXME_^TAN<':+NG[G.BBR$"AG'
M M-EY"[(2JLR]"]!<UJU48,0I?J\=3+,7012&OMRC2ZG'GLA3/(F#$+N7@@>
M-91+XE&2*E'#A9)T"46ZY#D402HXT "X"4Z@;TUY:D=+4EOVZ$W(LBKGMR [
M8F6.1R&.\'EK0', 'ZH0 GUXX&2GQU74)$XQ/EHZ3L^E.(+LU$B)FJ4BW0)-
M+<G/CA]<T1?8,N!/HT(5@JQ2P+CS >C#>\?SXVT8TR^+J@7;VE(+!R9MG=?@
MC<LJMBP01Q^ _+<@[1F3UI>6]JR.!B\Z<7[8(JMGSWYR3WPJ060DI%S1._!^
MMWD(1^$/"T*(4YKMD(G)T<K]=9+&?H#CF+Y)'_R QP&-#&.7))%*TR""U"].
MY$-J"H0@C0 ]D&1X*),A5--*2L'HG&:+Z1+CI1%+P3L?H47" \S9LB0ANG5,
M9,:-%Z.:N)SG)#^8R4G6)42>;BXRR2<>?V:H\YG3@\'?0>3B(PY<'[/<J;V0
M6FH,E9P#TVA<E<?$#D[]LI5MU4*P!10@5!D8P:.92D@R)_FJZ<!T,.RQK2'7
MN7*B.R)-F)3RQ<+)"W%-*6?IBURT":G^]@BYG.&TW^FD2UR3SOZV%I<4A5,S
M'>&SY78I];<39[WG,<("3RB'$](4 ET#5'0PPI!V.<S$*^D4J"Y:WX9@G84Q
M3W;[0K45+3;!HT"*615P8@Y0+M(ADJ&7V?GU^6+\R7">P@0=H6O?\Z@ YT[,
M]<W%.O)=!WT +I/;1_<713['* &#(#AU:7>\[!S=89<!9!31?0%;+KX-B>\.
M?S-7XKK,I^ 9$+-PJC<&::%?.75D %JZ6H&=3?_7P$_BN_NON@JE%A(.@/A!
MR4-:!(G1!THW_M;8UZA5LD*:3)UX3+K)SL-"?/&>)V)35/3"3%2TABLI'_*<
M1TS*@S5W_XA2FR77BZK<K,9B1DD>$*!3<K@LU.KFZ%?&ZF!E%JO86L'=E(S[
M%CXLFT$E'=/0FN/&K]JB<PF,(V7JJ#Z9#]](G(2.@JB2QES'2LP,DQ7:K<W3
M'EW(KR$?^S D(>U"F/)%9I> !"L1B2,-M<()?2J(;#^1U/%/[/$D$U8D<VP%
MG,[D$A%HQ/.K12H,C$&F1(J;Q>3#9C9S6*MM9,4B:XK:GT^,IBK=0ML4A@;P
M.N$Z>:&3,DX_E 29WB1)&LJOU"9,U3<IA&+HAX+TY%Y)3<*4G)&*))+NI(*L
M7L+54YC&E"&(XK\F& ?< 5ZPJ>BP-2S2Y EJ1T*R=AAQN(<8I8%''RS)$P;0
MDQ^9RGO $I?V)@":)((;WYZ<GTQU\B5'M*4LI]VSTPHN3A@06'+AAXP06(!U
M9IS80ILY>:857/V V0ZNE73JF_0,KW$4 <*>]N!K21K-( I;MY@JN*44$X+F
MI7=Y\A@PS0*1 4LVJ;(O*V;^C$$GWS[YKD/&OEI46@<Q>%(=MZ''R15DD8\-
M5.5$#$:F?H5LOO,X\3=T 49ME:\\$S&C->^1D_I!'R'A:K+@<CH-V?4E4N7]
M^#>!3>@\XL_C5%R%+HHH8;3-*!^24*1.'J"9P3B:$(@X<2S #:ZTA$,"03"S
M\X>OR8)\6F0AJABA#3%RDX:,\U^X'%@$POQ/=LJ_QO@(5"-%EE"@<CH")&3E
M%U/[#2"]0P!=[<Y? ;[^\?]G[TN?6\>1//\51F_$1G6$J[O>ZV.F9W8_R%>U
M=VS+:_M51<]^J*!%2&(51:I)RK;ZKU\D#A(D 1 4#T"6(W:G7EL F)FX$GG\
MDI05ZF6)8>-Y?$!28,AU#B(;Q(L1BDS3PWL)X0>X'R^(;6R@>%.>3HK77<:&
M]Q8P_O%PQB;H W$D"Y#-DZGRER4''?EGBOI5Y)*=:V<>'WJZTERU;/->(-\T
M0KW$,YBL*E=?)MB<S.M(#*-3+E0+)(%> 7Z\*NL'LL41S+('/\W+.UA(M2/7
MX#".@MUFXZ=[ GD2@*UG21/BPK+ZH$^H(I8_CG\$,T[B>"+,0$8LH92A[R,2
MOMGH?5H"9NNL4LX1Q%?2I:KQR$\&W![*;Z5Y13<2"+3@Z%+'B>P/+5OH=D#S
MX7Q%+2Q-=N[CBW2WV9%->XFV*5I0F'[\[PBQL-/9)DGS\%_D[TI1](V@$>CP
M1$+.O((4&B0M$'/FU8*(SJI11%-'X]B5I1C-,XXT)X\,LB70"E3J***<!CIU
M:O')45+@8O(%*08"+1].!(W7U^"+9_SZAC%^J='B[OV=A<0HA544.I[[M$<R
MLBWGN0@!3N?[L@F+?R*0D#1')/N11!O<Q#1:Z&<4KM9XZ<W@T;U"Y$>H!'>-
MW^:]L8_YX)Y/1Z>1#M\'@).QQ!_P7N$+(,.$TL8K7YRX#+GA3%'EJY*%\[*7
MHRG3<AF,7JB;06),PKBHM%%,#B.;-B%E #V@W".DCVOZ"5Y!1> 2SF@U@)CX
MV.[\>+?$_]VE>$'U,@.QCT"=9?(56B!AP;[C;80/'2>W=0-E!X9'-NV-Q7'D
MSM061\KN)4/_W&$JK@ XM5\^=3&61P8;_6X!9_^=_QYN=IO^USD;R%E:HPJ9
MD]W;;36A^QM3ZT@0[M:_/ECCDM6]GLQB3,) 'N'6G"^_9=0.V-MZ3 8]\\BP
MWR?+[R'V81*+U:!L5=1Y1#21E'.TRZ8RX#[MMEN*A>Y'4'/W.DK>;N)EDFZH
M?C= C7GQ$P!TN8B2#%\OH,.2\KM+_$FL917?_(\CY3F2L$L**\/XGO"!":.B
M'M)P0\#Z>IW[9!2&U3<9BD<OPL7U5U(_+J8*S/M^MDH1F?QAP%3(F)[/!QVY
MHND0'#1V_MXK1G2?^DA.^&3+OE[+[1+*P*&@CZ(CJV/'AIVJ"/1 3(D!UW2(
M(Z$\:IV)26)Z09^\V4"U>[*HLP',D'Q83QSWB)B)='R,ONLA:NPJSDG,&*GN
M1,)4J+6I%Q02&=.[>O?*49D1ZQA8B:QQ(7F,#?K&=)CNYGMQ]-@1;NN]P[L/
M/PBHO8O_\>\A?FNEB_6^?X1#:9KUBE')8_A^]M-1,QFU\S=9Q,.MX".Z]A<D
M :H$D+U&_2KXWE8=1_P#4"ZOP*C%WYBH0.](O,H<? O*\+)@>%$RO,0,^]-4
M)":VB,% =AFH[$0FCE[$<[,Y&>-L;.A4W0*[B?'Z0%D.#]E+E"W2<-NWF*9B
MD4$8(?D4E#)'7E!^[(CY;CM(^&>HF>-R?)[IH[7(^"B*QU$4[RQ<Q1!!2?]8
M@@,/&($J9($4'^= W_3SGO#]T=>^#7E$_40Q83"H#>G4C5'N2XF?(_<H!\OK
M W[*A0$*SO??,A /4)>!_7ZVR,/7WNH]_@JU8.\R$GM-BE>2\3V_^,#QLAJ5
M7!(S-O\$Q$]\]XVR_'NO^) WFXQGXAV[R;(="BYW*?XV?142DTIVC][(3_U!
MKC(O)-\X3G;XV4:R&.GH'AV^B&>A7SCS\#=HB]$AB7AM7DK/\SI-=JLU^0L+
MNWD:M( T8SNGWV%_3'B SU15D$?@..K([#'S*JU[;9WGTN!U'48HO<!:X^J
M,L(2LQT9S^,#.DY_9('T.@0CR3RJIAI=%F[F073E9KX0F%>FAIH<AT\V@_PC
M+&&JSF_Y(:S..9#[U--)WP*3.[I_GIR8CP@KRSLDAOA!S7H.Q/RT#K=;T.#B
MX.^8/MQ]!0F^%,]C**6>T5"+ GS#9'@+#@B=,4*(E-:,%)+F[&T),>.ZI:V(
MJ:H,"OP37\0V2:D O8O1D[VML,^V"5\=\'&/?]V#SWL%7'@A'7@)<A*(7 H(
MF@D/C (+ZQ$M=W% #DA2MPRK"2Q\"ZL&!XI#0,1BPY]YX@>\\@O'R:>\##A^
M"*7D*Q/XJ:66=;P(\2']C-)^ #4J<^>"?<#+X0M'QV*[BX2Q]SPF>^2L B4B
M>T0+!+FW]TE^$[\FX:)?J <9T^.#>GA4CP][%+Q$4C;B8V.CIC=88*>(PDU7
M?LRR^L#RB"^9P&=9AP^X+R=ROKP.\;I?A'Y4H/(-_3 0_ 05Q #0%,[]+,QH
MG>^2J(\N'+;:13+.O HA1#8B*2"B@ABOI&;J-T<)K>-'/_N0+P;!+ 2H9 C\
M(\P;'Y7CGQP!)]S_>;P<5+(K.?D^XV=DE",PLC OR#5>S'[T#^2G5W$ &8/]
M"@M1SPH=U(-1 92!9"(> R^1/398K/!+%@:AG^X%J^4#JP5Q#G_<^G%G6U@C
M>)M_Q&,V2VJ+Y]\!/PK[TA$RR]T+]IELM14-: HH*DA-BATP%F<FQC";0+*
M<8%0->N*!RCNO\602P313X"$MP ,N6Y15U58C>=*6#-6X4)23R$H@F&.FUEI
M\/9'Y3(J&43HS&MD#A8?///$3WKTFQ,%$<H!%?K$(U!0@Q=U%9_[)";Q"DR3
MFBC]8R!&&X5D*:,+ZX5DQZJY5)NM474$F5'J/$G3Y UOFW.R1S<A56Q*A.KY
M\BH*B9>(V@$@RJ<O$H/*1O?"B?%@VKVH($>  (=^B%'DI25)X[HG[(G.Q+;9
M1VX?5&RBO73>L)=Z!1&D=)=7DB%@LT,_3HGW.+[$2F?](UJ%X)N,\[X V<QE
M7PXX.D#V$!Q$-HBGSR@&LHR(RV^ Y%@^W@0^Q"%HCZ1D3U.%:0CZZZ]S&WS,
METN4,@]M=H$5@!4*9BL_C+,</\(6" 4$\.?)AQA?X;4^!*9WPKY-\<F]!?VZ
MY]//>UOV?1H)D/DTSG<A!%M]",G45@'_+%L$[,,>^[+'/TT=X/!Q<F,(AHX/
M(11NM'=5&$4@5)ID&2:C9U$R,@PL^.7XT(D]2(Y$:A]&I98>LN$J#I?A FQ,
M"_(DAE!D,/J$*+OM655%&-PK1_?X\).461F1R\K%_K%9K=^C K=^R>V6<QL!
MLR%\:+1G6%FB*<NAN"^)6>IS0)#@)7S[L:$FLI/T([\2 D_)7Q$??99$H[OD
M>Y$>284^7:VE5F333 5M>E 1)FD.'E3-(B7)]="EF7>^KS2L8)>.7:;)NNBB
MFM22I6<"^)II$5^GDEH=2Z:OUZ:))C-IH.5@[(C[ 7+-;HFZPWF: *]D@](5
MY@3K66_Y^D!OJ Q]A8WKT8'']H(.S%!DDQ>^QNZ2&.WO_/0WE%]#D.L 0*LP
MHD>'],B8Q\%#I")_,F2R&F+W_0Z^RFZ ;+[+L]PG54$@ZFW11_EJ@&S33Q6'
M?>8)7SLC47:+B32T<64@+%,RP%%S$QT^F4?--Q[S):G.H_=6Q_3G5C4J@:3\
MY%35]H2"5A<D:V"%U2&2Q1^PU %1?;H@)2AO8NH7!TN3M$OA53^T'JZLWA8)
M'F5?\RJ?JVAX9QXE$K+P*9DD%%[158@ .%&)5YZ+A>2J!286I?06XE?'?TP6
MADRZ)V>[?)VDX;_ZY1&(><-G?._YQ=!'Q%548>B),L2.T]GH#)$J]_"Q1[1E
M07X/*12IW_1':J//F')@CXU\++Q$>C8F V-3!@Q^R]!R%]V&RUYFBTH4)"HC
M!1&K/A\ (@K^CA?A#QTAKU&5345<)!W?NYV&Q\+; Y 'X+<<PN/S4''Z\9'I
MU3F=6V=P[FIK56#1S[_/U^C[#7U!B=[-PC]ZYL6(: ]5A^GX]T,,P27TBGT,
ML]_.]U '<_8>]G)&5(;U8%P/ACTB;B(M(][_@S%'/U !  F@MO!_X 3 .A*H
M:3U!" BJ$APJY!_"N!,6""B@2&_B+7Z'W*)7%'T9 A@:C^-].2+JV9R46*H
M"0B#XL<"96:ZLC=)O()<W4OTD@]C5DUR!&6-]P2'#5;<[;3U X=@B$T0J>T+
M@WDPVJ0F[[XE\'["^A&IDWW%RG@_)_ GP>10,TU<O:-T$8).&BZ&K2J(V,C>
M%H8^\RAI5)_C-<;SQ'N=("/@N*0J:O@#U1D49'\ER![^?%8UCS6L:9P5C_!B
M?::4WCZ3&I#3+?8?':F8:4]<'5:QWGG:K5SFM,M5K/X+B*E5Y*Q^AEUQ;+A'
MPQ(P:R)0ZT&9JU3FKK'6P ([,M;$4%AAY./B(K(\-Q3AD4$^70P2@%T 2%V,
MFY_3D^IJVCTGV66*HSJQD]1"G66A_^ O(!2POZ!A,(^-YGTW>YA=_-YIVB,)
MV9,6-W]IUY]?%%J&6E%^1&"L)O'G%/EMYT?P\OKJ@-*LUXL+RCV!=()_]3D;
M>ETY+22W$"0'P&C>=UBUVR,_S4;;B_3T6X>Q?Q,OHAT(X>_XN?]?"8$W?/;#
M-S\>X!2'#V"-C7W!@T]X\ V*[TB^<GP<1B)S-UKFILEU&H7+N@[1A=O1X\]_
M1#'>1 #3.PLV>!-EQ%K]BE@"=_^5RSY F/,KGSA*UJ(F5]71>>K[9'<IBSU_
M1(MD%=,*=L-AQW P56'TH^,GJK)B 1,&4!$H;-00[WB5)SL>OYAX7T8J%>["
M=[C#)WF>]Z5;M./?$O#(:<P*)9H@\2T7NMDCBB!D@>0\-E2SOBZ^%I"/*2N!
M[U[P5OV6L^*.I-Q5N(%B5_CZ3 $7YQ+1_Y8P!\,!4IR)X GXKQO_/=SL-O@6
M>P5O/X')]%>KE& Q 7H%KVQ'AL [%"NEDV)43"DVME;HI[SB6ZPF6;BA)<GX
M][SO^!=_+TIUJB($-YLM5N]@\4*B1L]B V=>.1Q)_#@.+NKPQ*1N0EAR@H^9
M;/RE^9R2DJ)[$B)#HV6(XWJPZCEI$<!V1J-"CX4CMLKX<#Q$DHYX1MW[H]M_
M&QFW/:\2:2KQ9-='6\Z?6.6'%0+;#UBK<+?9 ,0DO@P$ PF#FJ1?Y>7'1H_H
MGEX29KH$-XZ=%9*P4'CO5D!UZN.$(MHAL3K=5B)5)DKTZ<6&4@ERF6I1*W]N
MRGVR<A:EEM[SN!1J=8@XXM,=F' ,K),HP,L!0OOR_:$,-9 /V:C_\W_\^]<O
M__:?Y-F:[__C>!AB,T0'P<=5GJ?ARRXG9U6>X+,MG?9I5!0S??3?[GQ0N?TH
MF\7!TVZ[C7K6""W&/L-:_)M7#$\,#OP#$#R!5<:)#K>AV8VZ<WIL+%;,>)BY
M#1]S_$W'JB'TAYK@(TV&$M&+],@6U6@%GWM$4.*+*^_[(8N)T0_@Y_PR23?3
MP-:.P5-49:<8W"9>N#(5:/""Z8[AP(^* &_A&5&^L68+3 960:_#.,P1L1?7
M8ZG.]W?^KTEZ$?E9-O1KDW]^^BBXZ440-9=YP3[]-K/7-ZN#O@ H!2; (Q38
M6# ]PRXZ!Y&KHC$.S7UW)*#\> -G[,U@_W@:N_D7NY<,/R&Q.*]>^VIKQ5 >
M&6LJI8U!W'(X!+"UQL$\7Z-4_%-O\RN!T15&)--%/E/YZY0/UZH+ZB8FU%P,
MY5:FO$WC5AZ#E](45/><09H"Y8[7H)KF5A^4RVH!&PMS1H&H\.'&?.AUM60
MO"Z:J)W2\84TBR/E+1+9PH-_ST:7Z%1CQSR5@''78<10D : O8/!&,J3RY07
MS]?%+J7']FR13T%\<6?!+)_[B]]04!(Q1.0\'O;[%S*N5PY\1-Q$(B/G=4:F
MB5V=Y<]K1#<I!T4?8&J>[XZ,>CX5N8<'Y+"#!4K\<?%2+\EJAR<13Z(&)O&(
M=?TT!,V?@4U4_R"TI/F5356"14%?O2\(HA=$#5UAQ@[P. D.#(!D#0L%*A 5
M**A.=4;^+_%!<? *T(K3@G;R^VF+DVVC"R*N.M;'F5<2YM$F(,#:'ZL]*,7R
MB+ R&)X33L/'*.D3!1P#D@]_5O\<YFN>B];S#<;#C@F4#Q_?>PL!D99GNXW_
M^B+GTGV(SPGX:_][@0QUBWNZ3'!4HW6:T[\GT;4SOR!^]$R0.CCV$*Y_.(@C
M4K@$KW("7SBZRW\H-MCBD2&63[-;H5@- =6,470)Z240;Y"D&;T64!1A.0]3
M50H^!+65X$M>('R*7XOT8]Z&?&W<S.?QN.:O)\(M^X(G?L*;T3N,<3M-D;#1
MV!6WX:5R3L>/CO7C#.NI*0IF^4,2QOE-_!QN^B5?"8-Z?NZ184&W@X$GTX:'
MY4R<+9&]&6?OAK(W61#*@#%M;$1;(6TL&&.^O YC/UZ$?O209"2OK&^>3!'G
MD2R]8G"/CS[5/2')EZ.>)G ,]8L:8JIK6@Y]YFV9 P_<0>-"=PS+6$T=%T8M
M?)+/1\92[1YOGZ[1=<BB:CF-9#TH3Z4249TQ#-1DRX"\1[^Q!F"!+;6RA#N+
MZ_T.!AL-B*#F6#Q/XEV&=0OJI>GI0&2#G7'/TU'P("LH.F7E=?;-(DQ\4$9"
MNJ1R&/9H&*FMJC+<?8*E53I@GM98]QVN9A(9;KI*27VHCZ8G7);GP<N6]XX/
MOE640Y\HA&,PGB*!G61R=LJUA7?B38#W(*F-"4?D8!Y62&FI#CV9OW4@IB*[
M_%2<E@?'!36\KM,X67O',;'H@ND1QH57XTV,/T[T[8Q&B?<"OR@@N[T[DO!+
M<4N/DJ^HP5+E/2R,;R/.GB0@I_M?+NY[XV^Y1R(3_<7?;^YGX]HIQ01AT2])
M?NAO\Q*SHJON1?H+&"T?4$K23Z#:Q_AU[,?@N&YXIS4\Z#?J+F@"9S"RK7T$
M%B/)?'+#>G5*IXL58R^+(MT'#'>[7I8QI@7P.,QB9(\.?2PL15:Y&2J*GB%T
M@XY\1 D/ M4?*J=A@MD8/'FAH'ALX?[L@QSS/?CVTM<A8B?YB!X?<KKBNH/P
MPG?6U87'D[C.O"]?O__A;V><);P].).3X1,+B6Q$.\M8(1H DVPD;HR"&:/-
MW?A(_/,54$GAHQ^ME/^1"<1"TEXU\Z@WUEXM^VC:3)R&KW>015R,>TP,1#7:
M*][J"=87J>I)\])_1%!X<[L.%W[4OSRI.-I1$!\UZ1Z]!BDHUI?L<7:-)]Z/
M_H'UA&O\EU[/!#ZD1\?T8%"/C'H$C$2V>*BYG1[QQP=PG/'7#7G;T$HD 6)1
M-N2'Y"4*5U2=W\4!U'LO_+<1Q"F[SV[-O?9( -9&=JM5BG]<#5/\XVHBL/=^
M5$N+K%RY3+&JF,W5Z'$A?>OE72?I$H4YOHPSFBT?LF@07FBL3Y0)?:V_&+[J
M7[2O>H%0CF7 216KC$V"F>6<T$>PHAC)^W0$+<VNIHY)N/ RT>!\1H6%@C^R
M[X]?7?#"WX9XX9,*"0%E^(8"LP?GN_P^R?^!\@<_[+Z;ZP$R6$_![&ZE0/G'
MRB2_)>GPGCB^QS_@O>QR#W_"VZ/<@X^,[E!4X_O@B=AM=B137"P!UW-N^9
MM3Y97;SQN>0^5"UD$:#DE@*8LC!@!>2:^'@YRA*4(+A#^;KO(?58X'837'VQ
MROU1,:='\V9%NOGX .^=Y1[]Q#&RV73ABOCKBV1\)*!>6;1%WNEEF&V3S(]^
M3)/=%O< XT\"N.7X'34O0H_[*)E$XU-D'Y\=7?KQR(+;$JWG*N:'PX6YV/[3
MP[<BN?PG4?W<E^)3[J?Y(7)\0:LP)HZT3VF.D1!?)KUS@CU",>DITNS-)TM^
M.-]E88RRC-P,+$GJ/3Q45GPT3QC.^W\PX*B&W N ^<:7W442]*LK D$1,) '
M([E*<30EL<0*13R0-':?U;H; OT+L;)YW]',AG'K=?9@06Y+HSQPVCDSCO,0
MB?*?E':H:A/FQ X2!Q?DH%NA>,%]R7T-F\7HY"Q=B../7+=[6+[J58X84Q!.
M5QE\[ R!,7B+[+-50E2'24HM;8]H 6C 153_+/AUEQ'R+E&V2,-M7Q-&_0/C
M%X,;F;E(SM<932Q*::P&OIJ*;]D 61=B1@YU)3;?<LRA&)5CN\\&FRUAH&D\
MA%>;;93L$7I$.23-)#'-<7I$RUT<]$U\YH-[Q>@\A8J-?T2LL0GZ2"Q5 J<Y
M7VG!%ZTSA?\P*E]%156LXV1YN+@5<O>&*,^>A LD)+W0E]QW].^CIWP/QQ1;
M?GS 6D6MR>(OC<"Q^QSA/$8BJD57)E-$5X[#G21)O.!HRDMJ%.ZB*F.M@.8V
M4G]O$80-]0IZNY5G )]Y=.S1X^ :D97WJ+.*42U63G4EK-9GX2HF3JVI@T,/
M8('-AE =['[\VNI]"&YJIT<A9UG4\ 2;MR 9W*W9&@50#WFHBGE\3(\,:JE*
M7B_&FJM?RM-Q,%-)NN9LK)+Q?1D4NS9\105L"D#: O)3#(<Z?8#GUP@?ZWY$
M$NV UTKC0]\._,L"P K%TZU^_0S \Q@!7D%!O5-1K_T#"DQ<'-_^\/0';\FD
MD172R+$84CRT!=<7U'Y<)RG!!H/-0,TGPY0+(^XHT)SJ?JD/P&=4LBCSU)'2
MGO ]6C-8^.(DB1X%SEBZ\F,6O@/J41*% 5WC<?  ^)S,O"$@-12 @WVSCL1O
MGWF5K]-,>^'[53"'DH0)$I7 -7:;+/SH89W$ U3[(&-Y9+ )T&?Z4AY-373Q
M@(OS, BC'9S%91&+JW=P5Z. PJ1OMCN^/.N R_"&N<&+I-\+5J!!K*3!J?"N
M*9QZ00? 0,FPFLF+BI SOM'"DMPB0Y$MZR)+K(F,6!E9)#2$/Q>Z7D]+,!_2
M6R:I%_)!Q_7Y#<&&N/3E/#C/0E2C'H\U_B.T<$PF,0D_A/3D(""!)OCL]</@
M)F;QTL-DS-"HU!*2IOP8B;;^_B;VV/?&]S./Q'+=YZSE-RSX/59V(PFGLR:G
M7CFSDQG!BZ?-,%6ORW>=S7+70S%5-1V5.*)3Y/_C:]9/]P#=/U^2%=/WZBX'
M/?-@6+B9&4C25)>Q+L5!2#1@D4:S)98_S2S>]3U4Z9>]B.0\E,4263G(2IY'
M$23FP_<)E@N^)7<CEZ284#25,@!KE"+"Z$?A+BK-<'C"576YQ:]Z[+,>^2[/
M/=^-_@0JHY*R>K#38(41A&]02TPE],E*L81FBDB_R,XB_26CZ2]^3G)"_L/[
MRY^_T') &?SM_^SP&?>G'\Z\KS]\_3,-?T8+<L=Z?_I"_OJGT3.4>["N2%I0
MY/Y<D;K>WKD? 9#AL; E9A$H&#LO\@6.AK>*VTS.U21^F_Z<1!HF)JN8< LP
M&=P)O^\:H58]09Y%NQWD$&3$9$MPW @<QY0A#0-Q*'60?S#F*AF!'X8K;C<O
M$&'(J&=%Q,E^LLH8E^@51<D6-LAB'2=1LMH_ @+B$%7"^-!>SL>>8*(&9BBJ
M\U(.Z]%Q)WN_/^Q>\!/W6\Y6?&$,>_3?[O 1EX9^U(])/)!7C/0!V*K$R4_*
M&[,RL2 E(12EIU&)1SV%Y8C'QDO#!&J#I])Z]) F"WQC C2HGRX@(91M=:"Q
M_[*[B3WV!>_Q?_J;[7]>'B5+49,;-CI[7A7C'_?4556IF_C[+6,W%=D-RL^,
MS>4CROT0[P[N5^N_(D7(CTNT#!?AD3#!+RDV6.EJM'U1/>/.O:)T2Y#0J>)Q
MN5?M.6&8'0\,VN@!CPCY>%<<W:C/$[CPW>4)ARCQ^(?.//(I&CY3?&VB]_$(
M[$OM50\B!(T=]*CQ9CHZ=)+'K4'1$SOM1P &1\%84//UBATD0L(0NLZ30 46
M)3$8W5V0_[^<\D1P3YG)!)SS"9!@!WY.@,6B"XS$*<"/21%MXL&GY4P&@7$N
M!V5%4HZ!D\@6$X.LZ@OP)$31Q"<\/;G%8K&>7SWA,Z$=K['LDP.&UW-:<,J]
MMP[;Y<O()9]<GX[!S_F"XH]STH\^"4.<]9.!RY+B ^#N*B$DL3Z[2OW-;)>O
MDS3\%X'FW,5Y+SFP(+@M?A9 W ($9XI8AZ]C>MI&9+&RW\KA/3;^F5=^X<RC
MWQ@]MS:)5[!L+]%+WC/& H:B:1XPV)GW+>8H)7@*IXNK.+BFUD,QV^$"\HW+
M.$B6E-4KT)C/]19&!X@_&!&V.'[];OST-Y3393TU(*L[XA)W1S_$\H=R8X&P
M(<=;"#F=+,D.O,T(*9RCW#1PN4,0:?7\EO197E]_^/K7(V>'GR+D*V>>SOV;
M)]X+(J'"9S1,#7]N;.XANH-NC2A*WD I8&4\23VV7B9.:3VVXGM>^4&.<\EJ
MSTUD#Q7JD_5+NND-RU:4+9LOO<&2EJ:!/;,K1+;09#+;GY4BNWIXPBI\M  /
M"($/G0+ICA5&N1RVS,KER#DA_:B6EK,9S?LY!,51G=CIRD.V/>"REA<<*Y**
MB@H?M9<<_YTH"X.^WEBQ4Z;T%65HQZ_]X;;,.BAZ6<<*OZA2^:=AA."MJ&)H
MLY)%,]J?&A0"E$(2.B\FUU,G_+/W76E!R,)W#RO!^3H;'2/- N=L46F+>A!#
M"5K4"WJ<>04%- &_J+TWIHWA#E.ZV6WZ7R!L(&=IC2ID3G9O" _289,SG2<\
M:M(\F=2K%0/Z@?=6:B3@<YUIJ?B WZ9H"XFB+$5-@!,LD&)Y1EOQ _M#E."C
M,)^@MGL_240-(5Q,4*>DY^P)X2V-$@VCQJX0#;=*_#!YO/6B$A,F\0[/4^VM
M]*%X4YP<4VP:DZKM U?]MEJO?B)^HX)5L_+T$]<0'ZH>Y4]XL>)G%2E%2533
MYP3^--_E&59>(7UQMEJE)'(.J[-I&&?AXJ"LM6KX[I-8G9+<HV2_Y(D'"%V>
MS[\)2>+TH^-ZW8Y.G$UW)1?F*R&!1C)^RM6!NK4_E1-R)4P(_!FW*CDX\PH>
MO(*):=(Z#YX>"!S-]S<QOO'(W9Z1*^!Y[<>,_?LDI@NR9L$AX6&7F-5K?!D/
ME*S<,("MX"->  )=XL_0I2YF+[],D[U\C.(=;B-0)CR!"X;AG6,^RFU2L"(Q
MG!%V/.#' X8^-X4I,('IEF!(!2/O!Z)W7Z(E@OK%C^@5Q3L"^KJ*28SB@>7=
M*VFM=&POI8/C_Q:CCUS7<!3>HAI;;%Q/&'CDNN>CL%5["5J<M>)1490LRIX3
MCD.,[E%.\:9NDPS_G;P3T^0U#%!POO^6@76YB!.8 9XQ+8'0+XY)( 74A((8
MP*7G@,W? 4&_AY_)TYD3!0?Q=T 75N]^+X0PE+1-& CE@D@KC]:J7--"KC&6
M*WZYD;_"OXFY;RN*=,=%FA0B]0O:_F,:&+4"C1= 8F%G](OYX*.!QX$M*C[P
M&0=UF2S$PS2TYQZ_JY_?4/2*[H@C:<H8GWD\NL(QE1AJ7KJ_C([/ >H/=;]A
MS6?1OR@;51_IB$1Q9&-.E*(X##_"),P%#\%1$!_IYV',5)FK. =LE]))173P
M3'A'][-,T?%K$9OT&^)C_;A8C)S@3;C0 +L*72+ZWYM874>J/ V'+9=EI1C8
MU(RS:>>?];[C'_X]>#'U!;:$RW$Z)*?+,.,F2A)]R!X<MT/ S%?'AG!,_IJ:
M$CA^: XC*7.)'>;**%/V]0SB2:_>\33$?L2#]V")0[(&"9*AET>?J-(B*K=D
M.J/X]_S#7O%ELKY)H@B-T&$PI!,%X9[[69C-E\REA+<6=3H.Z'HD7P!!B%4]
MCI.MJ,91.;Q-2.MND64#O5<."RJ;ZM4RK4BF>KO0$ %\K'SYX?PO7V9I>I<$
M))7L.O([JU^5Z  XJK[\\/*7[[]4;.A\_*-@**KQ0E@I6/!@R*/@HQZ28HL?
M,(,!^+11L:R#=85ZL@*O"T8,7JC\+OFC %,:EM\>.:UA$C$T:J/-)+71R!_)
M9[UFZ; )5*H)Y1$Y+HHB,)5I<8^(Y@=EZW [ .A:D5.2BN,>$3-1C8_*D#;B
MG7L'M%0-% R=>_9\Y\U>_3 B85B0DW^39;LIW/=]68LT7 $/XR?D- T/5YMM
ME.P1(HNE8H#H9S[C1@413^68N:M6_I7:4?C'//8UT6 R63'@$24@L9Z])/%N
M@J+ XS&EMXSI9O0HN98B(-K8JMQ8DRPUS\;K70XE5YJ/1V*F&<10(AJ-KK(\
MW)!IGL4QX-M4JM(0_VBM;LU'EI+$JJ:U/^ CCE(B+^9#36N3!?63->U'\R6'
MN>R#HEE[+[&QI\<+'9ZS2#@!/@9'C5O*!EN0JWB/-\%ZAO7P<.'W?YR0T3PV
MG-MD1Q**)WM]$)_5?1(7 3HTIH57,NM90ILXQ,31BS@L]H'?3QA7-0ZKS7"$
M[T(R[N]YEN/H<4Z*P)=>A9[@W\X4I.GWLBH=LE5^1BNX.S W49V->M#5D?!1
MJ=MH9WUI2A;V-;N(50H7E2J%W]TG.?*^_&ET](8!N8ODC%7&G!!ZB4*P!VJE
M_GQ_Y_^:I!< 7#@L7!7[M*<MR DHJX0 CU!@ 9QJ? E)WC<UX2@>.A );$$X
M'-_UYS!?%T9C2.J@0=7XCL#J<[ [X,87[DG^$>\-?Z4(ESBC5;1X%#K^E,>^
M-9%9:S3>H\/8/EI^JZ>\6TS7<J#N=_!@F"\O 2@.!;U#'ZLA8&3,(^>(+=Y&
MDAS]#JDGW@CI//,^!N]5E9B-V@1=YPBV5 [)=*&M8R]FX<QVC_FG<!6'2_SL
MC_-:,!A6LX8QV^XV&S_=DS5>?DR(#?/XYXZ35ZZ<Z'F;%&!"69.()K7B(0;P
MP5.+PX-HK!N])-'H#++)K!5<JA?5HJR3STQF+>.@)OBF1^$KJ+'W*!^@"/!S
MZ@?(\SED2EH,?P:)=4?%E7#0%A PCP(__C*'U!>.C4SB$2[P&R+,/<AL+&H$
M3Z0I#\E[- #;SN;F&^.)T*O[J.!#*,FG*OJ*VZ10A3,1&Z<BS#HXCBO9G9,D
MM1XKLTWC_H;A>K+"3!;B,X2RRR-$%PFC6PLFZL%A9,K<<7 E#:29D O%^[+Q
ML!S"#=C CF$O2H:&X"TX5#^XI  _ >]VVF9T5^'88NAE8IG0%SRV'&KF%A0G
M^+CU\5(??88ODAAJY*1$N7@,L]_.4;Q80Z6BPW O:A;0<FP/!O>*T8^-KZB=
MI=%A/,J<]:>-'T7GNRR,\?W?9XI8ICH9S^,#.DY_9(%T$DC% T1I]2M>%PL/
M1<^!_N:9(AZ6(DV6]:WP-]A)>'P,UJ+[M#RRFV]L^\QXS$8&$SD1DT4F/'K)
M2XP\DN?[M,6J63"/?_+3$.P-CUC)ZE7(D68/9V18#Q^,KVQ@@#]%*2"BXA-S
M]/R1L3B-^+7\D@OHB@#?!%P_%5SSCWB/$S#[[>D9].M=NB^K2_4_@;X]>7Q8
MH=K6\? 2Z=B8YEPA,&L9/NNND_3J?8$O)8 :><DP>0":V_>%5PQ/;(*(?( B
MJ[!/D#32D9])HS):NS ^/L,5%4##W]Y+65' T6V/?D00<C U(20ZO#-4]@%\
M%S_-GL&&!*,=&1?<Y@RC,C,Q*3*%!^:H]9/9Y8OSLH2MXM%5_1'.Q1K,V:A:
MYPCL1-Q%QH]_$7WKK(A!&]\,5LTBND<YK;\8QJL?DR1X"Z.HI]5$DB$$T*7?
M%=_Q^(>F#)OOB$ATVS.;_E DHML)\^F)W^[:7Q"C_.P][!<\3+V ?#CWB8^D
M=.,5B<>:8C4FT2O>"U4^^BO*Q<#>Q!,R*$=1"S.3/5)A.\Z7598N$KRU_3@'
M]V<4@AN\SX21#0]%URF'2\[A@GV%I.?2SQPGLU&5S]I,8LV$,WHQ&:,0&R$!
MGKX.,1V+P8&G"9[*,DK>V&6PY)^9$D1Z?);9/,-5KP$E+SYH!Y2\;_""X%,9
MLB2M02V3>C'?XREB,J[H^.MGP(B;BE//<A%?1Z7>6F>D47MZN@(C/,%! ,HX
M\&7= $Q+TSUP08JF>#[!I<S7B'.%'Z4(L>(J<*/S1 LA,W!D_+3!."_=BI0%
M$2-X9%/"P)Q(4U\FS-4T>7#W"QLR?FU/%C\T L?"+ H<^XSC":*+Q^"JN\%D
MY$U'-?'L.;E/8G+?Y&B(XM5L6%)@)8F_7]"1CX67J,[&<P)@$-^S0:?QW@S(
M3_U6L\5783D U6&^Q$\$LOKG+[F/WXKX<8+7_QK4G.LD'1:#@'SQ^V3Y/?XF
M2^[E7R7P7^R[Q+%3BZ>=#JY@0K%4#$A<-KN,G:]>(L@&B;));$%23"@;,Q .
MT(LPS;N(_$:>^6E#D.-Z 676FT?JE]/Y!?</6%&'TV UAAGK#()"V?#P,W,4
MMKI,1UM!ED0E&L'F#2.8QS[NX:][S-,*H+N<@").>N^5)'PP"=5NI6.05.6-
M_M+^1G_I7"A44=2X1P9Q_>&N+#E</-G/)S0O'94017.=1HREH>Y3DFW@P:KR
MY)]2- <__-S0!T-J3%?L6C-+$Q9BJZK(-?OP(X*D ?XC(/_W"L6M:\X-V(J4
M?X\U@-(3QRZ J,X[R\EL.!6*;[%7YO,$S#_M7C+TSQU>HU>@,_5'K2C&\^B
MD^)4#,9-%6^DRM)4:?P]PQIEX 7U2,")@0F&"]0L.)HH6G,8#J*6Z1CU-7>?
MQ&.4L@)CH=5R5@/R%14L>8RE\\FK0 W(3NTU;8NM,@-FB? R#^9+_%^($4NR
M_.!2EVPLCP_FD=$LP2X/#2GM.AN*!'B6344AHR?QQT&.*YB@ON&G3 KFWP%B
ME\B8Q"!9&772^"16V(NH@;"P#W[*0/DV4J^+Z9PPF/OD5[2OL@0=>1)D'(I\
M@BL?*J,\X@-TF +OQ9D% WG)2Q2R0KV[.$ -/\I1L%<J-*2(S"-1*3N5@)^E
MBPK5?KK@!.!_MM# 6OQQ 8GOV_Q[2@[K#OX785'B6Y H);<\IK^05J)K123R
M1\O$%_9LIB<2T&$9_=*&3K#PL,/K??$M9WZR@E E*]H.3K D+>1> V"33U)[
M/R<8A(3P>W^#*'*$=)(J+:P2393GY[?D>9WL,GQ[0X',\#U'*%;FTM/0!I&O
M@P>QRGH)73$+ GSL9P_XSO6C_PZW%TE068+ZEDXLNA(''@+(S:J>5HM=20_V
MWJ,Z(1R.)'*1;%X @P?LR+3^N8QI=6O[.Y7L(VH))T;SC-; !'=R:?I6;- .
M?9V8-98&6)AW'U"Z3-(-^%_FA18HFT"CCDZP*,6@4@%>SX)?=W2/R9@^<"A'
M3F!X2:?;A&(P$77R JYVK)$ICV)M%T=VZF.1=?V0)JO4W^#[(P1Z_>B!^,%O
M '=@@;[(-ZMQ=_OL"G5^Z;'RO$Z3W6HM'#I9@TF33D[L4_!EA$'HI_MY2KV4
M=RA?@_SAVL/JC0]W)"'[?-]LS)LIM?8AQW="8(7>A]+7<('DF3CXQ?M* 6W)
M=41\*N+O8 .Y3_)_H!S*:JSB\%_L*",CT4YU_[9,NM:(<6(J.+!AX4A]0BNB
MJ,E$I6SL!"L2S>PRS!91DNU2O2)KUM,))C5E:R4%:_^!_/0ZV:4RI@\;R0DA
MD)T$VR]%:TP<9H':V@$H_=E_YS9E&=>&79U@\^ ,Q3O_'9";BY,-7PF+-"2G
M#@"52>^8D;[EAB!+'>)REU*='^M')"SH$1_K:0APY:05X>G'%*\&N2GS@('<
M$$%=R5<N@D85'=ND7V-MD$CX?%_\\^\AOH&P\KN_Q:^Y"(!%I$><44\GF"QM
M*:4"<1/@349<R>Q89DA&@*E39D?@WW8;K!QW,-<,\@DGQ%9,ZTV\Q<N6S.G7
MIH7#H+D3[!Q\"M]J'3"]1W5".$:5#ZA9)P M]1JK<'X$BHM,*(>/9O\Y30MU
M<L KA4%/ULC9><RT)Y>^AQ-,:4KK&CY"NHW@!-/EC<*,#V7Q6/T%U&CN!#LJ
M[^C3;KN-"H#:+G[5:D\GF.0!$_39@Y\\PCU_CZ1OII8N3K"E><V*A8V5FJ)Y
M=R?8O95D$:IX4[6U?X^!RQ#..G//8=-(W'D()^:O G^JO1;D+9U@0M @0>+W
M2>R7?WG&_\H ABV)-0=GQR&<8!M"L?!RH^L*W&5Q4&"O$6U99W\R[NP$J^30
MFR^K:U!UO2L;.\%*)=9$O2 ES9P@OUG=9E^4H5$=_&U][%\ 1?X7M[K7K)/*
M1D[,"5DCZR3"[\.,NMKNDQP9JOO&G1V8)1ED@?]VA^<A#?THHV=8F&'M'N"4
MLA(?H#F7!P_EQ(RSV!% NN:(9S^'^9J_LK43;MK7"48%ES*$(L*I7MS%ZLC%
M]EY.,,<N*D)GN>&TUW9+%R?84K]AOF5HN8MNPZ7TWC;IYP2#)18*B;?3[C95
M6T<BFB[(O1S=Q %Z_R]4"314-G)B#NH/K9Q#=Q*SNG3K:'LXP=3/Y-&1J[7"
M2@,G2&[&NQ?FT0M_&^9^I#O.S'L[P6Q#D56_0:0MW63"V"[<WL\1!HMX/>I(
MIHYRE:U;TM0)-LJPRMDJ1=0TH3X9U*V=8*:YT1]2M/7#@-MT67@/A'E#9 PU
M>9H=&28CN2($K&$7:6@M!Z.LJ54V%C1P^9>?[D6*R[\ZHM*PY!<BNWE*:A3$
M"WVB3*VM$XM%%^*CS%?J&BND',@)$901<?RQ&L8[S #3$9(X.T?+)$6%/PAE
M5^]XGR1I$,9^NB=V3#!TPC,WB2*2"T_SV-5[;I3/.2%.V6N?E)2[6/MQC"+U
M>]JLIRM,UA0O_#DM9ZKF3K!#+7(RB_:M+M+&H)M5]K(TK\6%U&W'\A9.S FG
MJ+%VU-I92Q<GV#HX.HM'XY=I/ZR.XBY?)RE$]TFOI?$^9]]2S6G\"<5!DC93
MBFJ_.S'_W>/PG]?XI=$QBD$WE!-BN)5X!C"A85KX?+[(6#;HY@1[!V-VLF0A
M5E,(K!E5;$ZI5,;[FA/"K-RLS)9 SJ+6  JQL?5W$]2'2&6OT<:/]D]6\?R8
M+]G3OVDM:&OKQ/*I 5IJ-3I56R<8N?)3R& '+RF_L\.%C MI0R=8D#UQR%)1
MQ"+JVCO!D"Q6F9ZJSPD4*XZE6EE[+_M' #?T%?8*J#_7+"/6. X,^[G 8)&Z
M-E_RG%"-K]&XDWW6R*[_$7Q8*/BVQ3<@RO.(: +SY25Z:4Y:6P<G]MISN $[
M$0TS6()B#T$C\Y2E<JOBH@RZ.<%><1PPA5T;H:!L[ 0KLF.[R+:1'!Q=^CG!
M(/%Y"(>:=(IJ;>P?"TVG3B4/JL:'81<GYD.(^H;C:A:SX@=/:+%+*]685=$C
M9KV=8/8)$:LW)O/.3W]#PBF@-HVU];&_.,MT(0&BB;SBOL5AKLYW[=S9C3F4
M0OJH<8"Z]'."P5F$9>WG(BZ*:)Q@BT_&HEE/-Y@,\*L]#S..Q&T0J=;2Q0FV
M'A$M \C?D;/%8K?913 G6+L/%Z'T%&WOY01S'&]3I2Z*O]L_%6]EV5R\YLU5
M%%*;+Z^LT"T2VV <)V9LP-+MU",PJ*-$]1$G1$?-<$QSUJE TH;VES\1>1/Y
M;K?"CX/GM^2_49K,8_0$L?:0!(B'(MI,^=,]7O<J",SAQG9BKH4H.Q;520W?
MK-)C@)6#ZUV^2Q%$J?BU8)V#!W$B5DK ;4_$OSHQ+^7K J(>5-=.LY43Q-^C
M'"*Z2<Q6@(+S_;<,O(V%^6&VR,-7Y1/8O+<3S!Y\![16VL/;9HE"V#=9#9N5
M&-W <5F U0QZ.PU*V7%/$F/X)PKL&),(5L#O>D[@3X(/=#PEP?3;3@A:T-]U
M,'IXC\^7S_Z[5*OH-H03;(^WU005454AD1M =WX$*;##XCN-0: 34]:(][K5
M^7C5K9U@!E^6^'K,]_ .Y:;(+4R7PD6J:^\$0^9*@!9)H?,H#KQ>"F3(SM#\
M1P'*+SP6'OQTGI( ?QKRSD,/6MX8JFY.L/><^D&9X-*H+Z,N&F'4T0T6];Y1
M=42W44<G6"RR>VC=DNLH>=,>-+KV3C TB_,P@%H.6(<J/53Z(D-M?=Q@C*&1
M:N):M1=[E_Y.,%PL-99(@-6Y)"99TPHC@;:#]0#'2K(7^P\(O.+(TC9T8U8*
M7Z(TC@Z?ZZR22A<,WDY#.2$&_F K4"H5:U+6S@D&QGLG$<M(=A-3M^NT;[3J
MM]T0-%OE&;XQQ;?5?$E1J.#_7N/;,]$CYAPPC'T5?[;+DTT"UZI"FZ\WL$^R
MF%(XO[J;7][Q1_V='^^6\+A/4:IZG'3H[,3B5#Z/M:I$>R\GF+N5>'6O4Q+
MOMC/EQS76L:A85<GV*Q%Y>O<*(JF;K!1: -R=?SJ?1'M JR_DKSHS7:7L_.O
MKCP8ZAQ#?<4)X<G6*RM&<IZD:?)&P6SP+[GT3=ZEO_TS^EN<(C^"+$ORP([(
M%/U8>]SI6SHQ:^/I046)KA&\-5T_[H2H#\@&?4MD8CMH(.N/SQF>J  FZSKR
M*]5N&C\Z,5N*2A1EW7?I4ZNMD_V#ZPJ@.+9I*(M%EC9P8C8N6/%0!.'?Y56I
M01K0=7"")4@Q2]+JB@&/'7E<*8V?[;V<8.X>Y:7W6.$M*ALX0;("'XA&5XDU
M3EDP@ +.H?,H;C!_Z$TLPL6-8F^1?< )D?WDIR$8!:&JGMJNWVSE!/$0+8B;
M0ZF&2RBZE9"W<VN2BD$W^S=<A[#1_H&G#C -$$$4WKD"%-1<D]J&]N?M$0):
MYLMO&=-EH2I>&L"NQ_K3A:I(@SR^<9 !G=BI;9ACFF(#K?V<8+#F*5,?I=*&
MUG?>(UQ@S7.D]I,3DOX1Q5AMC/!BGP4;0/4G]OM7I$GU:NGB!%OD[8]W=,*5
M8JI8:KC2]W""J8,1@TJPI19E;(C!G1#5]2Z-27PT.<7?2:2TIN2HLK43S$C0
MD=2\*!L[P<IEF/DL@8TZ"6G!#256N*Z]$PQA/7 9YJH7;?FK*\0N$ H(AJOQ
MZ[6UDQ.L">&)&3ZYHQU$798PB ]^B%4\EAPE5XW,^SO!<%G*O%:\0?%&DS=V
M@A5\F\!^AL)"L\4BW4&-(4VLGZ:Y$^P494WN40N.>;.=_1?7+-_,ETL$9BI5
MU>)F$R?DKC6S*=&\%2%[!PUE?_9*/S)-^+S#^OEFMWF$Q/"(AP=<"\9B\97+
M:C:;@G8,] 4GU@X#0)361]! 'QET<X*]\5/@:JE'7#D@.'*#VGX'H<B)2>%1
M^"D*YIC&YW"CL;(J&]L_<R[P=.PVRN"SZL]N2!Z//E\*BTV)0B=KZ 0+8&A.
M(96?X-'(48>J39S(^;^[$RDM_^J$3"6)KKH\64US5]BI%G 2\M%:GD"-]O9/
MF:?=9N.G>ZQV\,3V^9(K7W#$A &K1-*FOQPVCA,SJ@GRH=X;*&JASRGJ.(03
M;-]*H@"9=G5P%*&JO_V%7J_%&.-G1Y+F$- A0![2=,0VX-L>8SDQ\_4T%?6Z
MEK=T@@GB86.&2WQ!:. >90V=8*%G4/+Y7CZ 2NT:\7-.B%,TJ7)(IGE**S-3
MCV:;(5;>RPGFX,R1JA?X[TX0J$P3P?^NWXG:H/V#!G)"!*411_X.+^W%!1QK
M1E[?+!!BWR6+<I!/6 ]5INFOI&@=%$M_19=^[DM,0VUMG9A_8H<SJ=PC:><$
M _"DQ2L++DQ=O&^MD7WECEFR,%65QWE#<5.TL\^ \$CD\9?XU12C!:P/B"N:
MY<]K1.&J"R=! U2DYU#6#X/+9$%R3/[OSD_Q)H_VCVB+]>KZ.:!HYL0.&B_/
MAIIF>5RN8\AY'8FSO^&>PE4<+L,%J!@4E ;<4?!6"YDGI6GB:.WB1H2<K*YE
M\8,3FX3>( "20][.%"8G>THB1<5T56LGF*DFB "QTH=THY7]/2 SX(#3/(J2
M-[@;.T)HR[LZ,4<UK5@3KRAO:7^N2KU?N-^50,3&SN;N@SDQGT V^!W!-;Z%
M^-*<!A>A@,1@XR<Q/BEJ5CJ=0GOH:$X(0Q?,IWU+&G5T@D5UQ1:YAT[5V@EF
M-+Z"'U-%Q&-;'R<8J]DF&E'/M;,5SX_46G&H+630[[DAT+X%JUF9ZE<_C( [
M?+0377S0MT'+MYP0Y#/:0(IRNJ</&4P;?J'$U'2TV M@$;/@UQUSWT@#%PX8
MQPD!3(7!Y=BSM"-Q3DQ5$0=)'SIRX12@&Q0;]SG)_4C\'1X86(_Y!\HA$P^_
M6_^%)4>$@-<L^Q.TDYHGIZ7 ":'?^8LU?M*D>]'?H-88-<V=8.<VP0]-4!:H
MBG"^_Q%!7NUV'2YFD,C2?K=V&\'^^VBVR]=)"HN,7SS9MSB PP#=Q,%N0<X1
M\"BIH>FZ]'=BEJ^62[3(Y\NK]\4:CDI(?)^3;-O:8Z6:IU#1@PRR'$;XC!/B
MX\69G_UW#HA;%/)4X,NW='&"+2UP@!JGVZ";$^S1B, "_/<6RB."MJ L):1L
M[@0[=!E)HS7(+TX0.4]7?LR@KB"8#Z^&@/P/0.[-YLL'K/B#M8_\B=4!%XJ#
MTXRBNL%<=_N,^D$G1#J5*\:F&\B^5@!FDVR- N(\4-S\DC9.K!"^K@F2>T9T
MY5L=3*NNO?V9J&#EPJHQP=0MVSDQ(_?H33A6TB3&_Z2*87O<Z*%C6/?)5_#I
M+_ _Y^ES\E8)%M4T<V+>#"IOJ9]ZQIV=8)6>T+KTV&H+)XC6I?OI02#->MH_
M_7[V4VJ),J]\U-[%B;ECN?O$JSU_B4+J2X)<?Y"]W)^O[V)_MDJ_ G[]PW[W
MXWTVRS?D;JJX"W)\3+^TN%B-QW!B/D<OKFE+-6U\WOXZ8UM\SXXO[H!7'07U
M=DZLEZJ_C5R3)*12=P6U]7&"L4N$K_E%2(B4FX+*WYT@F"SX OSB#DLU#?TH
M>]IMMU%(8#WN$.3CX1LD0\2V2?+R5O%&A;#<9T G1'(99HLHR78IC721+KK&
M<:*W3/0<T@FQP#3A8Y($!./3$" WL=*NBX]1MW>"H:%\UX4/8$P'>?$1^Q>0
MB#O5M2AG:S<'V*N$N?&27'$ >)V83!2#6;! CN>0I6PG/R=%C@"!PPASLK<[
M1=:-\4G[8L7JTS))-T!F$46C6"GJIDZ<&]6@W%IX )ST8*<!=Q<+9Y7>DAW'
ML#]_@J%\OI3-4&,:6WLX,9M]L6_8"P%0*BD #DO/4L6/C [&TXL@)Z9$8I/&
MZL,U+)^;F*PB @FA4[@Z#N$$VX)7F*4GZIY#ZM9.,%./-Q5"4=7>Y-9.CK!&
M'S?:\B:-1O9/\(-2_!KA=SV'<F(&FP7%M99\:5LG&*&>A&?_'64 BJJ(/VFV
MLNX?XLF8@.E5=PJ)OUDGE %6[+]\?7D.\ZA!;/UW)Y:%//EDEE_X:;K'6U$9
M4VO4T0D6#]:2N'(-P!WT@"**#T>=@LC>0;4R@^\Y(5 (9'@+HT@"E\%_4E_<
MQIT=N 5-EGB1CP Q04)N OAAJO7*6#T_:L,C<4;-RW+L+SJQ?HI@N?F2Z 7K
M) I0FK6[EHTZ.L%B8=6^U474-%M9O\3XC7J-SR(_XO'TBUVFNGH;#9V0?]^7
M,7_I%B]ADGZ #RRLGF;A8OA,DP[?=4+ VFA>F62T'9Q@B?M2"F,I5H/A@0*G
M##Y[X825SJXT;N3 L9P01-]%7$V*4J:<CO 9)\37R%+H7.BAV<<)QA3IW+H;
MNZ6+$VPIX>"4*U??P[[BRN(( :19:GE2-G)B/IYV+QGZYPYNAU?VME?CARH;
MVY^%H72!NA7^$0%_@'W+R@+N_ B08;\TIGAR"IQ8/Z D448Y6$Q&4\4@J"F#
M%:+*Y3'K:1V$B:&IU$J:5N'^1/9,^S@Q>S>;+5Z[])%7-Q!0)%F\[KBE0/JH
MZC*  Z>$S",OV<K29D[,V,/N)0H7WW+F8BH>M:I=IFOO!$-PIX1!Z*=["M)+
MP3T4W"@;.\'*/<I!D\3;_34,4'"^_Y:!!Z8LEEL4R-5I<=U'<8+Y$BH=CNX+
M?,*M(#"*G'=Z=YR^EQ/,,4V:@FHWRP,7)QT<?/C_!8IB& <,XP3[@BF0^JQ(
M#%0C<\;0FF@RA!-L%_ZY,DQ4&]R@:V]7C\FWZ2]W]Q4UA?[)_I4LN*R)S09%
M90 =/@J)ROR$\CQBJX?9GPE,B<[_W7DP)Y;<3V@=+K1XS=463A!]*X&/O-69
MXK4=G&"IJ  "/A[=*T;:T/ZN FHN -,GS6C2/?X7G,#!; -&B,;&:6GOQ)Q4
MUXO:2B%KYP0#&M@_182(OH<33#VG?H"@%I+FS*JW<8+PQL[5V+WD39U@@^;(
M0HE?%#1C#V7<Z'LXP136I "6"ETB^M^;F(=[L;K&"O5+W\FZO[>25L_^ _?>
MU[J_5]G0B=D1%@U >'>**C#M:_\*%;$KKG?1,HPB4!JQ;I^GX<LN3U*5L=^X
MI_4%R>,*J%?O*@[JUDQE(R<6HL)44E12+DTE'0PMDMY.,,MQ',]1C)8AJU-G
MZB(W[NP&JP2CKC *X!<UI-S0K*L=GAF6I9/(ZY*;]W;@D(%):'@*GG 7<D#<
MXS/_^2WY;Y0F\QC!_U(=.8>-X\1L:^O(UU&?X:FN#G(X:"3[J^ VQ'=? "F$
ML"X;DUO]V8DYZUE\L/D*'71@^S/*3;KGJGK?U=_=F-,2Y?HYP4HGR<Z"*@HA
MI)%0F!<5-#O-YN(8PW3;";# RA"^L;_IA& %7]6%6#R9IJZ@8!X3K'%_H;J]
M.PW@P.(G5M@,R'UC5MB46F'S)$9Y1H[CP@J;+!'1_'UBA<TT5=!ZC&A?*#RQ
M /P?S ?;8%/2QHD%3"P&]TF<\.QH3>BIJJT3C!0:(2.*J<-:9TZUJ1-L_.B'
M\2W67.8Q/1DJ(7)%?)R,*[.>UM^E8##$2^=IOWE)*G$GC1^=F ^>U8R/J1?\
M>B1O"YT11-?>"89^\M,0+&;P<%+';U7;.$%XTZ"D?"=46MF_'TJ$D2; B,25
M9MK'/F--2S-'=M2;JSMWML^JX%\.2BQ$W9-=T=B)O:0,O#[?ZSRB!MV<8._J
M[FJF=EF5OSI!K-Q8-^?XZ%A9P0+&3P$0>J;.!SU@&"?8EU7Z>GSZIIX^;0?[
M!P5__DL6H.QW)^:@!,-2[O!&I=VN?9U@5!?O[$0H,PDQEQI\9<6"U2V=D':Y
M-(P*54&RP*+(;ZJ6HJ+X:F8U!@?^F -'"C&+8H467#O),G_##*E.%V53^VP\
MOR7/ZV27^3' $#Z%[SE",8<#%FXG!6O=NCNQ 7@5H@ZVB98N]@\G'NQ;EAGS
M(^G9I&KHQ,P0#$#M0[[:P@FBOX'Y\"K+PPT6K51!K[9P@NB+A&Q.9M4.L]_*
MBN/2FH:Z]FXP%/E9QDSVTO>[MJ$3+)1WY7D3M"\[WPO_RT#O,QO#NN&1PT;Q
MZG@0M%BW/\K:V+\XF:6$W01X1;$<-J*GJ.PJ\M9.+#_)@B'_3)$F4+.UDQ.L
MS6NN$>G!T&CD!.E"0#*Q%P18WU"&*#/1![/LP4_S\@P0S-[MI4O'_:(30E6_
MB;51R0;=G&!/J+DDEEG _XX0K^]'L;-\A@<K9TL:/S#0V$X(ZE9(BU&;MIJM
MG"!^6("9:2N/'V%]<7J+!Z^0I5X4IA 32^_\>+<$M(@4/_2;][]I3S?65A5W
M1+TWI VM/X?O_/=PL]LTR6[\Z(2TVT+TY8>2OH\3C%7!_1]A>\^7^#5,= >M
M#B;KX 1+I'P/.=O\"(+9KZ/D30!2UV9DFW5U@LV'--R00 /UUJ\UL7\X$_GN
M9RO\]MA(#RUU*R=D7@^MO82H7'DQ'453)]@@6Q?.HIO--DU>:7%6C7:E;F[=
M.$&SPJ[>2; GK9W0*+VG:^?&?)0W1<M%X@2YA;9WAQ<&UHBHML3_^/<07Q#I
M8JW)1NXT@!,LWTJR\\M(HVNDB=XW[.H$F]1BH,F3K31P@F29>&_B'*4H(T6)
MA,H^IK.CZ.[ ]5F8CDO,*A+D!C4)P?)3U/%@,V1<R^N@\9R8?W-H*-GTF_=V
M@EEM,M<]>B,_=4\#*WK:7^*-:BW/ZS39K=9B1;XG33Z$04]'=);K,$(I0_?:
MR]652A,G%J"F>((A(%2W$9Q@6FDAU3TE6SO9WVLMT&M/ZW"[A3,P#O[NQT%$
MX%:SG(9 JB^5049U8M[+7&FTW,4!69\T8QH%^G1KLYY.,"E73_$4XF4+\"[&
M8%653O87-YPS&4\&O$]R?*4GX4)2>US5T(G9F:<K/V:.&M#+\"X)?.;$>8#\
MOIAG_3*(!C\JXH=,3^2AOV%_[HDGWX]J5>7E#O]&,^OJ =.U:5V3?R _56"0
MJ-K9EW\)22LH93R1\QS^N/7C9JJG63<G]J7R=M?<CEW[.L'H+8"NHJK1OZCN
M_"T.6,4P")M90)")V@QRR$!.B, <4<9!^!@&EM&\KL^3-$W>\$R<DXG8A/20
M+X,&Y\NK*"3:>5E.LNDT'6YHZ^<N?7,]HA5@4N&M*8MSD[6Q/[\%-CL)55-Y
M522-[)/.*ZX2HB[P_EFA8+;RPQ@_"=)D@5! _/ T,UNX%AKL'3J0$T<,P=S!
M9"IBVX6?[<_84[B*PV6X@,N+8@F"-0FN+FU>KEDW)V8#EE!1*4@V'Y4&3I!<
M6G); WXR5<2/0<1RS\&=$%7=,:O5U92-';FMKC8H74$Y$7SAYFN)8MW2U(D9
MN4MBM+\C]6:OP5JB]D3+6SK!1"TT[GX'E+$=D\UW>9;[<4!UHG AXZW3 $ZP
M+(DD+@ 7\@HHDWA"7) $@9N8:OAP%TN[%&\#:;++1)]V0LR"LD(7PVR7KZ$B
MB#SP1-/<>M2?/.^V&2C0UM:)>5&^X[]E:+F+;L.E]#8UZ.8*>X76# XU>#HH
M57#C3DZPUDB5TZ-W:)J[P8Z\:+?&.:7OX01313C03;S%E]\ME.S]HM8,-,V=
M8.<VB5<%6KY.XY0V=(*%OJD$/Z$L)PE+8&A?D/HS\"=!M:FI0+SZXT,:+D9)
M;NA'T7%,BO)%9I+@T7\&AON\$^(6$Z>:U1UE$M+WL&_.X7[YBQ;8G0L'#E-0
M"V=9Z#_X"S ER9-'&@V<6#ARP-[F4?6BV"?J,TE5"_>K<K].2X8#2WR-GX@W
M,2LD^'=\P?Y70@)0GOWP30F;8M3+B;7U(XKQ%$!$U2S8X#G(B*KZBIA#6ZTT
M&75T@D5F:Q6@K T<K:V=G&#M'C>AGGSU)5)OXP3A9>@'>>$)*.0D]Y@X8AJ'
MB?99TF]$)X32J"V<8\5F Y'D]5),I3M4^I ^8!PG!,#C.\LJV+>*RA3REDXP
M\9R2Q)0]@Y<'ZX4RPUK5U@E&FJXVW?Y3MW:"F38_E!CIS0+W]^U@&OU'=4(X
MMT(@AM2N(/SN!,&2RL"ZM:EI[@0[W4J^.5KDK10V2P=Z]-_N?+AZ_(@DL4-F
MKB*5IJV/$XP5@:MJ9W>EA1M$HQ40](BV8$I@A_/>0 $VZN@$BVK<GH,B*=UB
MKKQA.!:3IH;M^?[._S5)"0:>X;UUZ*AN"*>G1:*S#5=EJ)#ZF=VASHW)JF+)
MJ ]123LG&#"JG="B(IL/X 3+S1+ A-R+-IN#23\G&*3Q0'C+,#-!_>S3A!,9
M]70DU N206E0D#R^J_S=B5DA$CSW%[^AH*Q9J)X*37/[!N19_KQ&=+'P,&.%
MT5C9THDY 7]_S>=?%H5@,0'5/P@MJ8>N>2HP SE'?@43%:TVJPH\F(X")X3>
MD@^KNVP,N]K?(/<A7N/P1\6VJ/WNQ+PTRJ1J)D+5UK[DQ;KJ8C%UNH]0%"&C
MDNSZKD[,%T%NHAC_L_PA">/\)GX.-QKWEKZ'$TP51A-3(YBRN1/L%,83(5?X
M(6&@TUIS6'L_^WM-XD^D+[Y&GKQ!<R?FJTC'I-95E:=&TLP)\MEC[#R)=YFT
M7IZVH4LL%-9M$S::C1UYHCRM\:VA34(16S@A_UM)_JK2K*%L[(C\\9*X"?!R
M('EV<.#HWHN*QD[,"D.NU]EA*BV<(+H(018NL9L8$[@C80KJ"H1&':VR2-S"
MZ?Z7BWN1_O*O]N_FBI=6?$.2'U0:L$$G1[8V.^@+5PYH3+M,OK/E;9W8(WWM
MZ2PB&,Y<FV;] \AP0OP<Z@;>=^FKSAXG;^D$$Z+CBQQ!&9XAF J(8VR8Y[L$
M@'0?SPV!5+TMVGM3U=8)1B3/6^W,Z=I;#U1GSG>QBI\BT5'5T/K5<YDLB I2
M0DQ=X[\T;AU%,R>6%-O CY#CV_JP$EK9UVBXE?>J)3'CRJ6CN6="UG62+E$(
M558RZC,/&53BC036?;*/.B':"W\;YGY$0O,#2NT-#0H/SG?Y?9+_ ^4/?BA/
M"3?LZP2CFB@6H;*5F%8E?5-U'L4)YBO!Q.1-R(-[(/C]#N5K^1XPZ><$@[T<
M@(6K#]_WVR3SHQ_39+?%/<R16:?\OA,"/Y>4?U3DN2N:6E=#+B \%B_PBR1H
M@F *O]F_LTF$##7/JD!'FTWLDUV6HZ#P_Q049<%?.TW50]_>B77_@&_NE-[?
MCV@!<8^%H7,6_(IU)R"_I3A$US&<8%QXJVHTWF8K^\OP:K.-DCU"CR@'NW02
M4TL[P]!NK$)]<R?F K_CH([$XM:HBJ6ZM1/,&(4^:EY7^HY.L'@K<?#<8IT9
MI>IB1FU]G&"LL)3<RZOZB;^[13 H\MD:!02F74MZI:433- H-/P&*>L!X%<'
M! 3$L$[H19)?(P >(YCJ$'^SKS26<3S L$Z(1Z*+0[[0&K_)P&1.B_ 0%YC6
M"GC ,$ZPWPMW7V?C'61@ZUK_;;+PHX=U$BNBGNN_.S&G,ZR(!%#I$>_.,H[Y
MZAW>C2B@@9R;[8[+OQY7>"N#SQUZ;/N*7E%A.4F+T[NAWLD:V2==@+(CL!D!
M>2;CA>B'P4W,#&TJBZUY7R<6<W%C&*0:JMHZP4A96(+"?Y,IT.XU?0_[RU!G
MWA1LFLS",%OF**5^F5US6?88RXG9+:T16=T<8195VVD )UANFGO-C,).$*^H
M :(Q5NA[.,'4)0!.)EL4/*/%.DZB9+4GM=$U(18M79Q@JP%#(\GQU]0?-^YM
M_T2]D%0]5=[CJJ9.S-E-3%!X,W!LX'-Z 2X-MM;D1=<[=72"Q4>4^_@R#KB.
MJ^9)WM())E2[ ["%U>:F]EYN,,>T]^>$.2*56 U2)HU[VS\X^H8?$ 145(<^
M-0IGM/%]ZW8!'FU$LKM""@\'@:ZJJ*1ZN^-?,1> JAY%%M=,9PKL1^.!#MRH
M)E"61J E(2J2ZM#-B2-71 [7/7=D[9Q@X."H[(=B>L):N0$&CJ@,&QOE:TX(
M4UMOD=^OESL$3_GGMT2Z4+H-X03;\,RE$QE%R1L<4SR?&:+8U6J523\G&!2B
MU?O9@PW*?0WQ!?O7+0^4O6P)I+UTZ&W0&U>?0^?;0_;O1($30N]F"*6Z3@ U
MNLK =YDD!QC6NOITAWG8[#9RQ/W*CT[,I' GJTT#C49.D%X-/I6;-,06]L_7
M*CT:7U%[:R=FP"0+S#!!Z<"AG!##^,5U9JM5BE8$TAPO"?Q(7RA=&=:(.>ZI
MH-#"0BXYB;I[7OLQD\M]0J)C&@]Y8A2ZQ-(H<M,'G94!Z;)__ETBBC$DP7MI
MY"P9=7!BS94!SMESPF/+T#W*2PR8YX0<X6GR&N+GP/G^6P8:3O%>9&#I;8":
M(WS'"0%2^HO *@A7@BE6/T&U'9Q@R=0@<(\OLN<W%+VBNR3.U]((BT/'<D(0
MY+BB*GQ9FD7JN98UM&Y"9S 1]4*QPFU8-Z:W]W!B7IK8D.K8\W+IZ:/7^X[I
MA&"PDNDS!8>8:MC5<ZN+@6KKXP1CI;&*D4=*SUZ]YRB-_8B;=F""P.Q-'N%T
M.QJ8OPX9T0FA0(GPK("SZ%(QP*RG$TQV,ZN87$G]1K2OB#[B5?OEA_._?,$:
M^%T2A,L0!=>17SG,M0WMLZ H3"P/YY>>7CV&<6)9\P.&0)+#4V@=;C7Q+9KF
M;K!3J@S*9V2]C1.$-Z_],M^08 =T5AO4_9U@F-][R5)S#E[O #U"<AJ:PRP-
M,;[]@XKH@'XT7_+()%5(4WMKZ\;]>RSM]0P?(N'"EUOXFRV<6+)$Y\;OJJ2*
M3\LCU74I4D8]W6!2_D26<B5OZ@0;FB![U9V@:.X$.UVJ+U6*+QEXW;L/Z(1(
M+B0E"DA .[7KO:(4GW[!3I6#8=C9"59K5FF:@#A?7D*L! JTUI0#AW""[:=P
M%1,$C#AOE@K57_Y&/9U@4AEJ3'T4^-NZC ?3SDZPRMV3>(<A_$AZ(79W/4R>
MLKT3#(WO)FSF(D_];2<$;6J][V/Y=X+1YC-.2/HQ>_<)'9Q@27'S-*X<G?[<
M=0PG&+^ )J!FD&2 ,/OM'"N4ZXV?_J9VRK7U<<27\[3QHXCCM\F=-Y4F]A_0
MW!I" Z=Y2#6^-ND:4L1J&O5R8K%!='T9X$#LZD];?"($\_@G/PWA\@0@%BD\
MN6E?)QC]]E3D&1O4^5.WMK\D281!AO?Y=9)>O4,B)/CU7C+<%\*"I,=^IXY.
MS!<I^T74#(B^!<0&&IRFT?M:NCC!5B79G9X&_"$M8TG3W EVZH91K&C3N'M\
MJ0+ U5L81?I*8>;]G6"XH[/U5N>Y/G0L)P1119)38;4V6SE!/)9\$KU" F"%
M/EU^MJ:#$RS=2O#]+A*\P/ +'UYZ40C90M*'CE%/)YB$=[PDQH[A@YG&\G4?
MQ0GF^[[<U=7<^V?9#/-I^[H5M^_JT6E;FCJQ6DQNUD-O9!?FB9Y/V7-R#^B!
M>%'FDA*K;6V=F"GB/Y@O\2%$)#Y_H5 @-S&O%(W5]0[>M1[#V9]7V5W$LEMU
MCY8]2VG&!TIC^OL/Z<0J.3@/O#6)09%2TN(8LDF/$Q-2W4,JA GRH[+ 6]<Q
MG&"\7IM+[U%3-7:"E5KBFX%/R2&3 BU9G\3&\92:MD[,!D\XFB_Q?PDZ2Y;+
M0[YE#9U@01&PTR&VQPDVP(, E^(WW#(%_:'M2:7MX 1+14@M.4UAQ<AOM7HK
M)X@7"K_I$WFD#>LL_*\_EAQ@[>@WX1?RPU8 WX;?V7<:[,"A@J?Z#WC98HZ^
M_OF'O_[IAS_F_CM>TYO]'PEOC_C_%!!7_+]@HB6^GIMXF:2;:G&L,(>OU$GX
M747,^ Z!R@7![R33DE1G)(+TM*1X%*Q3M*0\9)@),A\96OQAE;S^,4 AX0+^
M\3W\XP_O6? _2/$>B.NIKWXB/5;<I_*[;*V,0%2!&X9'E-!4^7DBDF;X@P&I
ML"C</@)-U=\GEA/-6;V*@TNA7(%$8-5V$Q.IJ& I(;/>T@JA5%9FI(IM)R+V
M.?7AM?"TW[PDD83 ZN\3$45/OD>T"N&\P,>TOY$M1VFS24F\(/$$T0T^:-__
M"^V5--;;340DT\#+?:#>VLJFT\I36QJ]*59Y\TE)Q@]P!'=:^(JPO/S:\ZA!
MLJ+YI"1?AQ%*+_#DKH1B#0U*JZTF)?!IC:((3"9^K*:OTFA:\F01.DWZ*JTF
M)?!J@](5V*+3Y"U?MPE2WGI:@M]+:-<JTD:3VF;3R3=/-7)4NG-8DTE)>_;?
M;P)\FA25#5OH5+6?E.A9$*1@7:;_P>^8,HZJ0;"LK65BOW8@]JL58J&LZCQ]
M3M[B-E*%EC8()7 I\Y2XG 4WO(K:>G,;)#\D6>Y'_QUNQ7JV*H*KC:=2 24%
M=T6U3_QY(I)4U< $LAI-IM5"#=!4FKJHKM/$+\__N_-3K&9&^RJ<NN3=66\Y
MM6%& ?PN,]+4FTY$*HMMW7_Y^O(,=C<)B8TF$Y/&G=:*9[*TV<1OI$62XDDC
M2@8YMR_ 493NM<>FOI>$ =$@.HC5>>O#X^S[Q3J,"H54J&4N,WDV2A80TV.2
M!BC]W[_[\]_^\,/OO"V4HL;\_>_?8>5AEV%"DBVM'@>_,;?-+96&DD1"']ZY
M&2(M71='S>S)Y/&7'TY5'@J+*Y?+EU.72\/(RR7S]5,R#:LRE\V?AI4-)N8E
M.1+IU,S87")_/M75(K>@<['\Y;3%TK#:<[G\]53EHG84<-'\VZF*1N^8X.+Y
M]],6C\H)PL5SLGJOU.'"I/+7D]5^95X>+I2357VEOB4NE9-5>[4.+2Z=@17?
MHY..Q'O&17/B&K#HK>,B.7'M5^DEY/(Y62U8XY#DLAE8#3ZF)[;& \JE,[ 6
M?+32$5VN7#8GK@*K?+Q,//]VXKJPW)_,A7.R.G'5>\W%<;+*<--SSD5RXAJP
MWF//A32P+GQ,UY,R,H#+YF258G4H A?-R>K#S= '+I*3M0;+0RZX6$[>"JP-
M\^!2FD039OE[]1RY$=/XBFIO%TD< /0\0)UG210&4"+BW(\ (>AIC5">?8O]
M71#F IS9Y!E]2S][(8)D69$T?@=%><;_4@;R%(F3!.R$&?<5N7[ZMH-$'1U"
MNJ**3'[AI^D>*PF5@B8U5LSZ6F.MB:W3,C6:#M:8T(,,U->6O+$+,P!UB4 +
M72<1/NPRBN-A/A_Z[M88[,R2BTP(;X0,WU04K0F_NT-Z[3SX87 37_C;,/?K
MB9 '#6%QMMA%!&7G"5P;)BVANFWKO!ETM7=(T/IM)A>/ \0: /(KSC5I%YN,
M %S">1)C-:V.]-;D0-+6&ND< X6BACS[[\)1BT6K8**MES5V*D"W.HU%TM :
MT<HR&NH)T':QQD@!>J8FO-+D4$+AJ?$]?V,0"LJZ8])*M6H<1D9>]_[6A*P
MW6L"NM0DW][/&DN/B((+7ODI )5E>")VFQVI&XA/FG 1JG@RZ.C(/-7@%(WF
MJ-['X@&%MEAQX_7BV*:HO%^5YU1[3T=FJ-@1>HY:.MG60>383G(=I-;6)NE\
MUY+E <%+*5KC%1.^(JIBW"89*!;S)=8UU$QU&L4:NW78W!H?Q<^6'Q$M:NP@
M6UAQD7/ULBAY JC.9G>X:5<7+"'MQ@Z7[!G&=@R;^J<Y6'5#+S7HZL+A;O2Z
M%!M:M2:UU$"5&(]4/>QI":7&TJYC2]NZ<-;HEXU+!R05G_;:<4*B4D/T@?9K
MR\Y+Z:6NPVDU]!4Q=^;']/B:.Y?: :!/3U1&7J!J>1FUF$]">-W$U<V5<R("
M-'?Z5+9LS:=R$L*2.Y*:8CG-O6A\4>I=7$Q67SZTK#K?CS)7VJE)JO/UV.K'
M.PD)=I.9S%DXJ)C^1L44DS(T@5N".NPN-%^B)['>VF])O6_WA(1D</97W<=,
M-E\_M&S,+L<#O-NG)KW.%Z:!&WT,&3J4$7/8I6GBJS^)Q==^]K=$ )R0E P.
M?Z,8 R:R/WUHD75[,+4%,9R:R#I?!(K B9.06V=)=8O3. D9MM\#I>OYA 1B
M8NN1'NY_'E0X2>Y'+@FG@\)O' 4SBN!<6U4#^8Y.9)EUDX_,CWT28FH_N\U"
MBDYM!YH;\BLA2QSK\E3$U/F@TH9,G83T#%[5\GBLDY!.MRVHT17^^J&/]3Y;
MT,"G,:SP7%MCII[_S[741>]41 MRP(_Q17@<:!\/9#[6* \798KY<4!_?-B<
M<B&4#$_//"74!L1?_H!2 B:FB>=NZ^D"6Q00;;;+UW@+_JO$G%&ST^CA#ALW
M6;8S9X&U=H=\=2$YHRYN9)XS$@EU"B[4[=VX]PZ-$#$Z+4XB2'  "38/II.(
M&!E,<OPL/ E7ZV!2DR&#?FR7Q:&BTQSZTYD$7=/LBU^S^9)YI_&O1PKH1]V:
M!4LMBKRJM45DC5<4[] U7NU@301B?@[S]<4NRS&A:6'*AB<]_G^!.KW^D)'L
M(SNP<)(V1"QU>XLSER%\@$&:W246?920J%%&GW*.='VLL<)#Q;C^US(9RN;.
M,'#N9^'"D'K:UF[V\CT^N_D*IT<4#[-JV19FG5UCKALW]LC_&4%(( IFKYB@
M%0.LGR\;2EC++'4>QGF&=?NKVQ@6[1H95B;9I:DT9(AM[$%]H"B"Y1$'=W[Z
M&Q*N096Y4MW!F2/Z,HQVN=(,IFKMSDFFGP%E<]>V-A.LJ6FOZRCV,)S2),L>
MTF2IA*836]@C$\58D!'>J;-@$\:DTC%4(-6OKK9> Z,]D<5<T2QJ=*E:61/K
M.2L^B5_\+V%,GJY%K :\B;,P8,_>69I"#03R&KX@Y1!NXMD&4H+G2T67(H3[
MBV)ZIOJZ.X>A;G$8=K+_%"T#I-L>H4)+^V3S%['IR]DF^A<7&S=2A/$.4U;:
MH,[1,DE1D2*-LJMW?+0E*;Y+_'1_DZ,-"2D"\T9"5!Q2M!EE>G//.%^T+$9,
M+)O1<WP;J*\Y56MKY-^CO'6G5=NX88)N,3164_ .,.J=A,NMU>Y7%:/6PG82
M FLSS8GR4EC!3D).W<QHC7!5F8UJ4+FYBS1QJ)%+E&%'N]%)K,@.]T7-%G42
M(02=;@*=!>PDI-7G&B@L;2<AJ0$O@M-:8B/> VHCXTE(ML--4#%;CA(4Y5KX
M?J=[H-5<>A)Q9-V/.*49=U!YN:OC=MB!FO5X$I%VG?;C9';VTQ#]T&_8^C8?
M1GS5;?[LVH5RR%X7#9(GD5??:9=+7 TG(:0N*\EPZYY$$G0'N8WJ$CJ)]-?.
MPI8XCD9)<CWB55ES43'Q_/OG.FHS1C%)_>US(1UJ4^$&D0ELXRZGI520ZV 7
M'FEVBI"W1)<-08UIH/*9IY\;C7+<OOT)8Y@4 (GXBC0)O#?H;2_;&6VV28HU
M) ID<8UUJ' 54Y29Q?X9/\:SB!Z:P:^[C"(:*7@]:"B;^>KU26FI2ZKKX<:-
M<^ ITJ[2?&P/[ !B,SXE3L*1,8! #SN73L*L/X!TM8??*#;4HX R$C7+)LC3
ML:N6F#9$["!MVF/9T%XJDV&>B4.9)(7XZ&J!+9;$L)9F[V&KR*5][.5@5:FY
M3#9X6RE8D+<=.+-$0+8@/EUI]<,[!*]F6<I)E^[VUX_L[#%_^&GZVF?M&0KG
MM?% &WT63.\)6B7=#NWM/VT"1E7<V^HG:*5OWM\>BZ5:_9PH3DQR^;[X1(G:
M@*> J$"/".^%#.M)3RA]#1< %A8FP2-:)*N8C,(*],DE,_9G+<* 5,LM:1>(
MHK'=,Y%B<%WN4DP1E2[5OAX1OE_"!=&?X89]\]. Q*?ISLWN@XVG4E!:GM=I
MLENMR5_FY)F3R2 Q.W:V0/6A!(]#:P9?> OS]1I%08K(H9=C53'/R'RC'+^A
M8+\G2T3N4!]F/,OTDN\SZ'@S\C,CZ)$2])S@ZXJL@J>"H/F2Z62$H):9ZCZ>
MFP?$U68;)7N$*)8D+X(2^8VEVG<TU]@G5XZ2WF[,MXSUZ4 8Z8"]@4C%&"W@
MN[ A9_GS&M'LDOERB6"".MP3YJ.YP)=,4^L[VC&^ZW[Y\N<C-(7]\N4OKEFL
M&R;(2O*6,NUC4/?3EMXEN9_F3EKU=>;#2G2-W$AW$AX[K8&R2&3H9#4\";EU
MLC%6BZE4+7BG):V*V5(J%OFF/2TIZ0]W=<V407WACI[NK0>6@2'WM$('VO><
ML-Y.2S3:C28/X/G8$1'&NZN#X?XD!&>VI,;W!9Q$VI[Q*E6Y"DY"2AW4B0,<
M$F/DH[VB]"4Y)B%V]7^<1#+:0"([D=J2QM+JY?XYB7RS;@OO !_3*&EIQR7%
MWFZJ,1+6CN[>Z.GMFC!ES7D1]@IO_W+*[]S>7CHNQ%-^V?5V"7(A?KY%5/["
M0D2#OC6H>?,J=@HUZ4#W'O@G"RD-^KA02\GEC),+/UM?1\G;L>8P [P&9N$F
M?L7O;XK"R6HPQBNR*EJ"V,W[#QP;\0C)]_/EMPP!T':>@7T*+TM\'F*2+E0D
MS? Y^4I*PLLB)'J/:1,V'GP0Z!+1_][$!:X/L_6UUTXT'< A)F>+!:",P42A
M\%63IV#4U684/:RNAS1Y#?%R.]_C%1@(,U"NL+;=V'T@:TQ3($Q-WH#0P'X2
MC'#2FZ?U-+NXML3* ZWG$M,-9&^)^7ON %E@'2]%F&J\%?(]O&US?(:#YD?J
M#JB6H/D ]I;H;KNE-B0_X@ON)EXFZ8:JDRVKU;"W_8(H* /?%5Y^ZB.^WM"-
M1!S0(K"B$*&*E_<Y&>;('^53U@1WB;"^O C)VE,P7&GBVGDJ40H/.T]U ]F\
MLA<(!03.#ZP/F$)$X)RX24)]D[?TLX<H0Y7;6U *YR]1N*+ A'CS@%E/5<&R
MK9=#*C)<S#'^4//)8];'M1TF431Z:RH.W&Z/:+F+@^PRS!84)Q,%)4QFVXVG
M[VRO_J4?QG#_S.,G/\(;OJ(\M:E>AIVMZY:%3P_/ _'S)1'8R:Z3HDQ3-;JF
M1=/L/)R]W-BJL63^0N-?;N*K]P7! ,<T%SH&.2D+S&^%#/J,Z-")^Y"B+59
M+YGQD\,$QS1ZC5J6C(]BH\%<.Z,EJF5O@X5%97Z3I'GX+[+= +TIQTLQ?(F0
M=B9;.CFAPHDA,%?O*%V$F5+C:>]G6X4C6R,(\UV*"D7L?)??)_D_4 XO0KTN
MU][=H2.&QL$2QW/>\4"1=+4'6;1<H@6$OK#S_1%??7-B:(?_#Y?\*[[[R:W(
M@P/A!WSZ5?\@M%3(88POV4TN-%4L7%,;S-^[O1_,@Y=*9_YTJ.@'=4[2%0IF
MX$K,\LKQ2/15]:NXWU@.G4+<A8)UUX-<+[R?Q9NCQ_ZG\5--[ECY7_&DH:>/
M\OZ9E B+ICVJPG:K<-W6R^K: 0S/ZGS,\-F4IGLL>AU@DEE?AW8Z#Q!DKU/^
M[.IB4](,<9S[O]ADEV&V33(_^C%-=ELH9]W%AC,I"0/?A]4W#GNI2M71UN86
M$;Y$V:H,$]5&#FU,?)6FN\INXJ:!TE!RP&;M..SG!IZ&A%_^.O@6AHGVH]*\
MJG&*&W3X7 @3+81_&WHA-,^ BH%5$3!GT,N-:-?.88Y%P'7_.,.3 )3H'H!8
M*UYF$-DWJ"#=K6=[>#2@*%(QO.XD5J!)J%X-<Z&SF$]"D(>'"E;67X?8NQ/9
MV!TC]:35'84HN)-8C&-&THD"K@:>G81H#P]AJ]TS;3%AIR'-0S1,XRBTD\!*
M&EJ'K(2^#2I!=^^8893'<4[=DUC$ ZFA6FWK) 0YC!K:)8IT%+&Z5@IZ""6T
M)5CU));G5(JI:1#M:=]O7976@X-W3T7,?;397I'!8T X.@C:,[2N:Q9T/*AP
M'5Z]@RC!78*;1P$>=4YU&$:UU9[5)X'@.I7NT!:Y?B)G[?"&+D7D_$DLWB$,
M70:Q^B>!FSNT%B#+"QA4D.[>^5TOIU%R#TYBT4YU>[4\P3ZVD(>YL[HD6XPB
M5M=4V,/C@ Y/_A@#OMRY]3I6_$^16W(24NQZB4V=P#+*)+AV1DP7<M"2$',2
M2[[G<\(H"><D:B$,?0+K<G[&$*B#AH-)C^/.4>AC3(*CE=C&/I+;TYG&$';D
MD(3[.7QJ250G44UE!(VW4RK720C9Y1/XE[^.,PE.PL5/<P+KL]%.8L7WUH<G
MS$$;I]:3:^_!PPYZXZRZTZJ797B.&T>IG83TIK)(=%GI)R'XSA$/YH?W= 7>
M!BR?0KZ9H<4?5LGK']$BH)^]B3.\Z-+GU(?;8Y:F8#9DU:^8C":OA2(22?/'
M%T&9-H[_QR\-JF_KA7!8IG-+XZ'KFNPB].6'\[]\P1^Y2X)P&:+@.O)7-:+T
M;0>F"2_K+F3IFMO=UV;S7N9^*YDNZD3]X6-F-744E':!%-6BII#5]+6B'O'_
M^054Y"C)=BF^.[-%&FZI$>E\EV&99?"2/_>S,"-FI>+#]D['0R VYE@2,3./
ME=6P8"G&@<C5?,FN/#\J"V6U@. /,[8U])%>Y)=+YQG/\7FDAM$?_#-N*%F#
M+BQ1&QM^6J;+9+5^CCWM-AL_W<^73^$JQJ?Y K+VJ5,>BL=B62X$4)CC.,*:
M]+<55U%WL(?^JIN/MB/$L+,;!T/[=%5,!H9R^<A[N-R^]XA@OSR@E%70/:9]
M>N6G,=2MY=2W[%)E<WO UC6*VK:ENKT;.[%M0BJ!M6K>3V/K<:7_(MF\8+V"
M>>N/:?_).&C9@]HNUO:AA"IS==NPLQL[U&3*Q%UJ*IG3V++R.++CVK2*6#C]
MMFWIY!*>)R;S:9VD^3-*-]3 3ATB+;OXD)'<V-)F$]KB_FV7VFGL<(X%M/]R
M7+NZH+MDI;62M[J'1>3J!E%M&U?;Q8T=:C Y5?>J3@@?>1_6;$LZL.GCV)9*
M,,N6S=G>SV9E, 5I<5!/'6_;NX>-Y<:F-I[:6G+X(<+[R'M>O'NK L R^3%)
M@K<PBHYKU]<9N4?YU3L+FN,<M=[.'8:P5[F54])<O>87>,=!W-C]ATQQ!:ZK
MH^1.XP10Q[8?UP' LE&!>A:KW/; UO6P5]&TFES+::M,D/D^/W0T-S:\P916
M('4.%=U'WN@U]?X^R9$@(#PXI,1CIL(CT_)ODW@%AI-+]-*FV$N;6MO@(C5M
MVU?>UHW-J9L <5<J^/W(>Z[<;B2EX,B,U93FMCU5;61O-R&LOZ$J8F7K$[BE
MDR/[2SH-E9W5POM'WF*U:^T9<B)VZ;Y2T_<XMAN8(_)]6QA%M9&U[5:1<]LV
M4S1V8WO)Q2YN+Q6O)[2MA-(VQ[6I"L([N&;4/6P6%:T3U>Z:T71Q8^L93(X4
MVO[DWFY"Q"^<08" CBFC)]>1^4HO(C_+YDO"1\E6:PA$2R][@;Z-^8"'M?DN
M->_OQI8UG+Y*S*^YB#[R'JZ'[H-4),"9Q[272VX(FF+!!4.C(BB,)+ST!?CD
M]1Q:MGK/0:V=!,9TGXMTMYT/?4=UX]089J%4</GZ2ON$CAH .@UI2!F$JA&4
MD!6*CR\U2,.(L7K?;0Q[L94F9+:&578;Q(VSXJ!)K@18=A3=1SX)Q$,@7N!!
M"V#"8]KWCV'V&\SE-\Q""G6*9!@IM;6O[V-Q7PO3 #1VV<T&7=W8PT835MVS
M)F(YC9WZB%Y1O#NR;$!&-*"KPXD+\PRUVBYV69YL4-JV60U[6]NV+02V;5WC
M[HYLWVZ36449-174:6SFI]U+AOZYP^->O1Y?NE*=^I9MK&QNSSQ7HZC5'*=L
M[\;.;)N0*CR?DO=3V7LFZ!B?*!D# Y%)P97(1_>J[6?>SSWX( EF%"=>X(C&
M('8$ AGWF_82OBGU-=KV^B72L;.]&P>MP/3PB+8 5-^--[.^UEC[EJ'Y\BK+
MPXV?HSH HZ*1Q4PI?+'1ZCF/: %>*W(#D'U1(+4*FT69)-5QF($/4[-,89-%
MUGNXH3$T*Q#7!K3K.UB,A/*#LH8SBSS':P5A(;]$B-*I#(PRZ6L_(=CL^%(V
M=R]=THPAX^XNYH#QG[0+T+R_Q458I>LZC,,<W8:O*-"RUM[/)<2;3,N+IH-M
MDQ@@G>/7%9!DMJG:^PU^T6A-4D_K<+NE,.!_]^,@8N4CC2ZD(0:V.($9\M,%
MP)=<8DZBA!QMK+Z==CF:]+27-Q>\XC,[S'@94+-5V=;+?N2GZ1VL:&[O022M
M$#SG+]0;XOC!IS)<LOI3\)"1K+%]C8\(4ME0 *Z]B;$&NQ-4; 6C9GVML7:/
MWH3G=YK$^)\+9/P0.7@8-TRP9H"G'2QATQECG9?:1,8V#G;_*?&N9C4NNJ^?
MHNMHM1NG=/MQ2ZYN4#R)6LK=1-3=C'D2=90[7,*]+*@G4<VP@S!;C+8G46^L
MVP8V- ]/5VGL:"2GMCXS8?WM4UC=3=6%\OOYWCC$#%Z([_/QT,747HCM\^%@
M9-4OY/7Y7.CB.2A+_GV*;4@?15D>\%.NG;P@A> ^7Q#FOI9":)_O" /'3B&M
MS[=#/U=1(<C/=T575U1A%OY\5/3P;Q52G.!MX5#9NV<"[7I<X?='7_SN:;%&
MP2X"^WN--O $+4"G":-=C@(R.ZV!RP>.Y@#[,[P] R .WP9/:+%+"3HPA1-'
M =6;-]L=+T+;M6C@"!]RXRSL4FWPX,5V$J[QPR0YW+J=SAON6L''8[QY.!^S
MQ3]W^ G%J$0W.=JH4C*T708.MBQR[@3%\6&'7\E8%X=(CC! -,E?>Z_T&LJI
ML-ZCK,A9GC*2I9.=[X7_163?>O<9#F-]Y@2*9N]AA_U$6CM%/OPS1>@RV> C
ML@,CU7X#GP[WX083@)O=(?R/5+;KZTT<V 3,X/PO%-P$8#98ABA@19*HM )2
M0*$LFY)E^'7<57,>YBOVXEU+GP\QL 1H6?ZE45R*<Y0]^&E>G@_",6@DO9$_
MZM*&?DB3ZR3=^#?Q$OY#J#6LC6PZBAOJL(F"4[@W#E8W3N)E8:*0R%\7IO?^
M&&*,')+@H9J0S,W;4"X^NO",U9)B.S?T@Y/:I@KMLVTMU41Z@JM*>C^,IL>=
M1/; 2 >?,%-CB/&8U^G8"O1)9&YT%7IG17NZ+ ZK8+%^!F$MM=#Y8S27RCEI
MPXC6=W+ ) &DF24V=+1"'#RP&_O?;+KEZL'A,CT-.+TB'O\8SX&"^ YUH-0]
MAG::%&NP^"A%+L_"50R7/_TC5DDO=BEL 0/G2<\AW=C.!K-6FH+Z"O$C[^+'
MI%(1@F>+B(DBQ[BKE5DO;06_6_NY!UEU,%B5:YO:>-*,\IM.9 .+UW#M*1@'
M/$?I&+=PG9U[E-,@EC!>%6E9;3=UAR$<4-[YX_U:_;X_W]_YOR8IJ;;6(<3L
MT(&M"R59:FB^WN5P\6\ 7H%B@K DBTYOFT$^X<8)>LB>4421';P43\(R/Y2@
MAUG>IQ&H-ULLTAVJV.%9]OPQ7F]J;L0_M4*W=QC#^EE>H AE#_X>IHS",=58
MZ&B7.F!(-XZ0@Q: ZK#N+M;3T(EOD9^AH[1/4\I;#H!:H]&L3_0FNL-7U6:W
M>02I1;QRYG62SK<DEH8D"[-<L'@E2-[0'C741]S8WO+YDQBE!I/M:>SH9M'H
M8]S=;A4[;]W_4#DSB<EW(;D]Q<HJ7IMTY=YDV0XO2_V;J_]XH_'VO(8ZN%L_
MWF>S?//DX[4T6^3A*U]9.2;AI9TE\V'<.)\ZU&L?8#&<Q*/P<)%V6(,?^:U7
M<T80039R]8_QN!^FS'GM-N@YJ //P:O--DKV"#WA0R1<(#DVPRPB9)!DQ3)0
MCR)?$AX[Y" /_#T'1"CG@>P<"FI1/4C,977PP,X*I82H)%Q\BT.\&][\-!A4
M0EV_,II>@U<LB5/#MW%!21<=S:"_*U/]TC()^.TDG98>\S[L)]W07X:YI13Y
M_4,?]2>A48XY(X??'"<1YSZ]Z#O?3R<1N#W</!QP/YX$-/_H*WW@ZWFZ8@!6
M(^V3S2:D4<4T6A&,P"A>A,?ISM"P8QQXVVV,48VA"C*XOVT/V@M>I@';0\_)
M$WI%*9PU$*+V'N94G>EH,AWEJVX<0@>M#X5Q<IS).0WW"I88(& *N?%'=M \
MAMEO,/7?,!]ICODVB*/0]['^RLU@60O3@A]'F.#S/?S?:TQADIH^7KN,9(WM
MVR1>T6Q'%F;V(TI6J;]=AXM9BGRS )&.@[AQ"!JM79FBU6F%G,3+N;,HNZZZ
MC^R'*:\#AA)_E!>!'N"^[4HP[&WME,1SY*]6*5H5]K)RIMH.1[.^CFSD;M,H
M;FE#$7UDQ:[F4976'<6GI*1ZYBP(0LJ[D.]^B?!1&AW903!7U0S%C(L<"T#F
M3_@OR,0'.\S8]@KV[@!-9[XLHLQ8R4H5P*&ZO1N'Q:!378%L5POJ(Q\?0BP&
MQU-["E<QJ309YQ+4>[</C2S-A5V!_U>Y(_#_^.71CU=("D!9_W78#=M"%@L-
M51)6_7UHLY=NNF48KZ:])A4AF3L)<&OU-VO',. 3%@[0-S!$9=0F#L%UV3/^
ML@9TUK"SH\QI86B-NDZYX&\5@-I=>KJ70/XM0\M==!LN57C-)CVML=5>>Z69
M-:7J8(V)G_TTQ;+=\[4M/>Q;&D][*?GO^DNI\OO >_22Z5*2NG\D5D2V.UO[
M#$RCY#O4<PJ00=+SHZ6'M;4I?7:#D>P>J3UUFBX6&<GR^1+2<PE^$XU$RIZ2
MJ+Y@##K8?>\HM%5XL4@TQH\*_-E10>72$93!CRH9J<Y;X?^CKXW#5&OQR6^F
MMWY4^1V@"QNA\HBZYDDXHCJ4Y#4YRC[J>CODM2@N.)4"_:'76)L:4-71/RJN
M\@%J0-?;X71%)SWE#1]A'SI._(!5UTG:8P1W'_N2:WM3?^B ^)X:F?X5_Z$#
MW7M+3FTV.(U8]%I=YL(76"DD6FODCM>O@X7HZ*LWXTFXB?&<(I@*E1._TL:>
MR1N%JW6.@AG$7J\0][ 306;S79[E?@QP>J02L,H2WFD,MUAEE8T;M,Z"7W<4
M3KX+TP:CN<7^?*DBN=M<*T>QQJZTE+7A"6)YH=;)8<(U))ZW=L.2T*5Z=NW8
M_-!&@T/DT_&L'N/AA[_\DGPP"9I< 1_Z33/@6E3?)J.\;9+<CXY5@HH+:KJW
MS)'*J;@-F:3^<IJOOH<$O]+RT(^B/9%(^(J>T&*7$IC9HWSVS3 [08.5>W^C
MKY+>VFWHT#01FZ.1,Z^NG&[4SU[\EE2*%$T=!33O0S S- ZOO7P 3<3DF%]T
M1G4_.M.% &?=;WYD4<DC?>18-TW#WCGL#KFU'^Q:.^18X00%NXK&MJ-!38)
MC_STGFW $C_.*F1C#WP)%T!FL%(>=NEB[6<(PESHRT-]"YMU=$-+-E6(2J^F
MD6IR$G:5"?09\9'2/E4G(?4N[[JA-8V3$/#0&H<X(:K+^B0$.X[>VWY$#'0B
MG<0<=;D/%4K<APZ&FN*0&$C3/(EY</Y,N6T$NGWL">FL4!L^,Z;S#ED%I?.S
M-:#YX?] (L&K'P'T@@#Z)_W]?"_$?$&5;^I2N_!SM(+*X<=HJ;[&<H.@97PI
M%__\>XA2O!+7^UOTBB*-W=.PLS5;0D'4'?)AVFD-K :E6IM\MS$&M@W(UR$$
M#:Z3E 2IELM0#9YPP"C6IJRDI 6E0-+0 :*S2_3"TY/RO:#:MM65-A[  29!
MX.S08] X6L.B04=K3-TE,=K?^>EO*+_>Q8$^35[1V/[Q=A-CQ2@C!^X7+0>Z
M'C:/+I7[H,](]K+",:$*^9.?++HPMDSOFZU21&\R[7+1='!JT7_MO.B_VF:C
MOIJQ%IFF>_RB(91JEH^FDS5FOCT]IT0[$BXL[91H.DQS#%4E-WO%BCLO=,S_
M?9VD4#</[F/A&J:UTVD1 P)RV.'$&O"C%B$O-AN4 L[=@[]%Z7T"<:[DB4[R
M@*2,:Y="CP$M"B'=)BE69*KSU,*GKH\]=RMD;)W[B]]08,B(KH<;MI%N;UK1
M"-7QP?BA3=4]'Z"B6&6/N@\MN\,?AH6][A#)GYA,=6 K)J_5$Q27[MDNBD_U
M+CX)D1UD-I1>([*'^8<6X0!/_TJF-'E*?TK,[)HUU7M.PD%VV+FG,Y&<A-A&
M.?N^GH0(1SC[=!:B3UGJ3\5>T_%1P7+ZG8XZ.]^'3BL=:&M/99$<92Y<2U ]
M; GWL5]^:$RCOF+56D1/(A/X,,EI#;"GD1>L.!'=+OWR&1ZBRH^KS6-KBER]
MO2,L-%>D$2>2;A8+=*"M'P8L_0%3-L_7#*0ONT]BO'C@3%.P9=C9M;.WBZ'=
M8.U^:-O3&-*3;9L/_50=1HBF6_4TXK-!EC$^#_=E2';Q)UJ%/0M7,0KX'[%P
M+ZB$CE)!>-B]1.'B6P[%Y#$K!:LZX %]'WM7CH(L322OMHO5<%="QCW*#=2S
M1E/[A#=,$"JR;^W'3!:T//IO=_CEE.('.C&M[+;;*$2M+*BZ.;</X&FHS3<P
MZ&A]EMI"A)KMK).\OP[C,,.7"8%=;EM.U<9#AR1*;B\URH.FM7VAJ@MV59JX
MH: 9W;(5G4Q[EWWTPBFZ"]!$2B=27T9]W=;#D?3WVTD\-$VT0Z.U)=RB'WV!
MF6L2L@77-":?GJ!T8:GUK7LRIHH.9U9-=3H)$77;=:UZW4>M]W3@BA)+Q$S@
MI7;"E/6Q_%F$)69STYFIY&V=>Y9_FJ<^S5,:HHDQOB"H4."Y]HX5^3L$8:-Q
M$&;H&]Z<*;L,-%57^HWIW XZ:L.6BC;QM::U>'488&!KTD.:O(89OBBND_3J
M?8$R6#GSEPS?0CD2-!&9;<FXKW,3PW?)09-2ZSSPA%2T9;5=3];,,5U.=KU_
MVL>ZVL<4XCP9\6A?!#TOUD^CV:?1;$"C61<UX"26GO%5,)4IS:4UIC_A.BIG
MGT:USKNRK@-^]/5V@$E2JHM.DMLTO<GM$?^?7TJ[&]YZ6Y3F>Q:'MP6%X>.8
MX#AW .":BRRV654,.EH,5U;0]BU#RUUT&RZ5P7 &/8=E*TMS@27\OTIV\/_X
MY=&/5TCZ^*O_.BE9=_@\V.PV2L*JOT\O,8D9MOJ;>VOS?-\"5&K2TSVVVLUY
M!CT=*/VE)M.HJ%=+=_?FC3RH80I:3&/&_=UCL<7=T=[/&DN7"*L5BY H%0KJ
M*TVFO1O\=_W=4/G=$9786 VJYEH8Z!D?^GVO4%% 2!(UX31$43>G-63TH<5P
M@)YCM*7&-CHZ)\"NJH>1%$7AGX04.^BE1@)LJD6G+4:S:G9M*_BT9:C5,:JJ
MWABFR5>4OB1NB*I-G:AJEB=AZC[D&JBI(I]R.O2ZO!T7R,N5?&D#BW=3O.*O
MGZ9OYTW?/Z9)UIDAVLD]9CYMI9^VTND9O//Q_1.CM'+TZ0L]:7JXM_R.UQXZ
M6RQVFUWDYR@0]67\[P@1'20.&+PA^;N2$P7G@PUO34"WR,_0.HF"F\TV35X-
M2C;I>KBW=-7YX]HN@R?D0V%9K-1!0FZRS-^PUJI+R%>VME<4:Y?&88YU0$S3
M=?@._](O$TT':TS\A-;A(FHAO-;(8@F@&)^>NP4<'#=P=*RP!-LJ &FZN/$:
M&]B?PI37TS83?1K./PWG#BQ#O>%<JR.?MN ^3>4C7Q_#O0(&M9C^C0HY1BN@
MS"4Q3V0S_=B&YP,/2NV+[+0%=YB..#$4A(N"TV**J)^F'[KB1L]MJGL0GT09
MAP/E5G^#GT3AA@-EI3<!G$;IAAL\8+P*H5 -@:K&TH-<H[<PBIYVFXV?[N?+
MV0++,P58I&K;H_0^0D95CF[#UR8_Y_L[_]<DO8C\+-/XN+J,8,^@J":R)/'>
MW^C]7EU'L>B(H$M40W!#NVDX&SH,X>"\MN98&76UZ.2#6K5AO'I$Y"796&]Z
M?Y]19P=<M.VK3#Q#S/RVAXQI$3ZJ.C7X^7#U#@6\\.SQFZ<5#ZO#$ [NU$P7
M$]+:S9['9)?ER0:E9(_ARSU;A]L6AXFFAXOS(ABR1(-5]YE2#60Q<>D515A)
M#I[1_V_O6YL<U9%$_\J-^3XS>^9])N[<"->KIV*[RA55U7UB]TL'!;+-' P>
M >[V_/HK";!YZ(D%DH"(W3G51H+,5"J5;_F[.(F2[>DUW.X$8E4TR\8U9$>D
M!9,,2D1D>N#6$J](<49&#[Z!IZ2\,-%%;J[V</L1Q!Z^LC5Y3F+LX0 9-][.
M'FZ,Z._0"P#67/D[H#/,#H.WAQ'3<*ZH&@>S"'[TL2'DJ#J;LL0KK<]F0%/.
M'I@%/;78#Y(2H"M 9D'B/G8)/9+<:XEF0>/A)&S:S%2:=@!/@W3EVG*S(*)V
MD:K&W+.@\8#[G6FJSR*HJD$""#T"LR#D@!Q:SXO0&ZJV+2]" S=*^D!F$?F_
M@IQB]\PL\@$T,&37/[3D YPUIOLT"_?DZ(WCW(OJ!S"^YWD"60)+E HM?6U9
MRVO-7P'>+V@?K#</B&6\Z'^0L.X1'I%]LR-D>4;\^OX=1$?PE,39KD=H3^:E
MCA #+]S[]T0+#:IWN80Z^K)Z!@;_;0ZA_Y#D>@3"^64#W.XB#\5J@XYH!EY7
MO\[&9=49/G70BZOE.)R%+W=<2G=/V%DXT,8E\OGDGH7KQP!M"]5@%DZ,\:E;
MG-"S\&_T)>[U"M!X3A 'R:OH%/[+U.]-9GJ2IG.-RVS\1'P?'ZND@C_)&#(5
M61_W!\32I/25G9#-&&PN7?0,1Y>D'<9A\9S2.Z8AE44<O%AM$D1D[9S%&I,@
MGN+.G7+GVXN:L/)]F"/H0^^CO!</W["(N[W7ZD]90YS4&=CHU'_B*PUJ[S!V
M5A&(NK"6EY$R<!-,,E?$YT6$S&BKABEX]WZ\>"><#,;'1C3+9.].3.''&&U3
M#)=H6=CC-7OH5\'1BWT0($*1YBP/2 C?)C%AY2<OSC?HOTAPP+;"ICA9>U%,
M\1$AFXM&:X:+W!SZ"GR S='G)'N,CTF("$2#BCG6K "I$8DG,NK#3.\JOF"^
M1JA;H@OU.L0Z%\=SCH99J.-74U%X)LU",;^:C)RS<!:QD-X$5#VP9Q'[N(Z:
M/$5B%M&-Z\C'UG=F$;O0<RXW=)5!PA63HYNDXE<2\Z]3C/V\)HWKC-#F VFI
MCR!:H)>#]>86(15FTPD U;%Z\'R\SB=.[S#F<',W5% @^HQI"KF=P833S-U"
MX,$0L]RKE_&;FU$&&KQ@(]P30 27?C='V<4T@OYJ_#E6H5+>=WB30)A\#^/M
MK7= 3[*3 F;,5YAS7^X2F+T#N+\#'YG@&B_Z6'M Y^YKUFASC;,:G,&%G3K4
M&."OX)A$1\R]3=[FR2C^'"NV.?_^I>Y *XXRSF[M##,&\$V>(O*E*2FK38F*
M5U;8\K>L>)YFK_ASB%86#V.WK6H/L8)UJ^W$:PS)'F\57[#YF37:7/>\9 _2
M+/2EA0AG@CDV2N)M=2H*HLO4H98<GQR^T6A6,<0&U7S;;B&Y8N0^"HN$#M]/
M\CA+7P#TL>6Z;6_4JUXU D;/(%M%4?(=.W75D6#,'@'N5^_[$R(>.@RCE%P;
M$(?I#I"LTQZ+(?FV,? "*8!'\)# ^Q^X1P)V+'VD200R\!@?$1P)//7 3^VM
M5AQ_$B>>01L^_XA"_TM6^OH>8\P\>ZR4/<8^Q-?.W('BO\S%NNI5!IO+?F2/
MY"H%<F.;EX;IVP%!%ZSCNFKZ$^NPE)UN!0M6V^<!@G_G(/9/ZTT5]U+0QVBS
MK4*/L!S288AS#*0^# ^<5L@J;[ *S:I7"M9V5-:O.<\RE/;[,,,L]0# :H_U
M!R7$NK,M0Z^@/.YK$X58R>BQ;+7)5B%W_^,0PB(8PA&8,C-'4$O.ODTDLL'G
M$+%-<;W?^41:;RH]MHC'8DE.3=K3^';M>",3-"#:(/HZ'?;&"*O8J<P;N,:/
MS7R%'6%;JA7%Z'I-&]N,= V1<Q99%.1FA\::-_VU8E&S2,6C<@>O]1]M CMP
M- L:<D-,C;1%5D!GZCN0%PJJ$T@0>9DG-W$N=:4X9F=!(U:$J'$E)$7J3WV?
M20>BSGF#G8C0+/B'=H@Q.URSE:TYLA-CMTEPWM2I)5:TNV3CA=CFL1,YX3G1
M)IS3'1)RMAY=SYH%@:0-F>LBFK,H+%(Z'KNZV! TLE[0*[$:*]0\BZHK)>YB
MV-9#$&I:+":;%3"+TC0EEF-JO4.0:F),IYBR,8O"/B7FXYB9\Z.2M"-Z)E6.
M5[LM:@2=+<&X3-4OF6D6I:+*M)3/CQJD.M1Y^M$F4-.O2O+];2&?B'S,]*Z2
MA#\O)!21L)4Z5MGZBW-)@G*4#+6*?O-S*/7FO'H*7$6^^7E,E,G72;*K:#<_
MTU_-J.V;\%?1=[';ZO1M)A96-%K,$+'X8V8U5D0<P?XPV3+W,S:[TNGT4'E#
MD '22UK00H(RT%R^+5X$R7QMVE"]@*<PJP&-_G4!&/WCVZL7;^FM1=I/1P6K
M3)=D M9\/C[%*+6FS6=FN4_4)+HUR%S[CFK;\JK66X,,4C9-$[@^ +Q9XRVA
M(3;QT"E4-N9C4ELX<=S-%<;\S=5X;I3> #3)MB9']7MR3TXF#KT%$\VU+6Y
M]0L(MSM\6_(1_;H%^"#'-B_VO92Z,P-%Y=?8B7!Q36)]3[!.2N776(+P;9+*
MK2$9:+Z/D@AHRD [# BVJMBP&JBZV533+AD*'B8(1<F:/!7:*8$=\DR5 GS=
ML)%+U%+(IDX1N@+:8(YYY+'+BD^Q"CQ$:B,ZYC\2.QQ6(IG:U*VGGN?)WC\\
MQIH-582;263?S"+;58Y<ZI;3+/(V-1"/:H7-(J.N#_$*XV@6N6%RY*'9CN.E
M>YD/M[SY.Q#D$5AO'G)\FTFI I"'50;2.FXR4>ID.,8IWS+M>*TN7#A5ZU*(
M/L2K:/'0LGH1OM!<P:TH^4*[B7"7@V?$6^_?070$3TB1WS$;7O5]G?4$P,OT
M_KW=QZ?O6ZQ']TH\+47P2QR4>B (RNH*;I>S7N_2W$?J2PR!%X7_ <$[].(T
M(K+_4[<AMF"P)>[N,_FD?-Z7T;:!+[B'EC_)-F2>D]CO@T]MGAWZJ-A_><VA
M/X\:<#TDI*H,\RC\UD; L\HQ"R>//KH-Y-BA7I7F+L'8NI!6S\[/!?5BTA4B
M>'>'ZT3*URP</&(>8ZIW@WAXW-N#(OU1:]V>LYM-04$=KU+/^#68[[A*-H>G
MMRSQ?YU.TO9MY*7I>M/ CI??R1YO/B_U_M]Y499V2&*L?O!NQN/.,89*"0V%
MQAVG?@LAF9FCYJV2;[^"0P[]'?:MPV0+O?TJSW9(3J SO%!PVAF$*C--KU+%
M,]PKT>ACS5W"E.SW24PHS+WYJCMN*718"AVNW3*"8%1KT+CB:H<TIJ[0H1.4
M,]@"H*GR2#A<LZ><0:)\FZ?9^_?D?P%,UC%X T<0L^]N5'^)026$=FB] *06
M!X_Q0P)]9EV9U-11EN<-'#)"QV>D,UP(C/^ENDCB5^G&B*XUG!5U[E+T>8.Y
M#;.*@S-YKUNE?J^W0(]L5@5(*Y&M:<:D14-!)TN3EMVE6652O!EVH/'5BW)0
MP803BYX TMBE\&%-M0.Q0A<F,,H@4Q]NAZM':.-34X#IUO0LXFX*9GB52BYM
M[LZ"@%(NF3K7,4SJ61"+ZTYH]-+L&N^3)I#YBCC[2#'[LCBZ)Z&Q3=C'W>1Y
M1.S&.!]87-_!3 G%N%2HAS-CT@144BQ%;#F+1"1%C5+-JS1I"FK:K!*NK4F3
M47G+=LNI)WLYA>+F[.5NG'3:X) 'JMC9.6G2]O+A2#'T+ INM7ERV@[GA7IL
MK87KW9Y%J;(.PC']Z;-(=M5!P8;C?LI%SJU4Q<<8C07OWH\I=9<](W7!4Y!.
MPIMA+A%FLP%^%AXOBX2[8."&/&&<A_&V3+I-8F:BG_P++$/R%?A)C'L_%W(D
M>P!H1WH1CA7D^"*MQF E[-7>;(PL=Z5L08"LTA1D:953'8+T&;#86#3+#GDM
ML3T;&JK"-IB%*TT+_11WV"P<'HJ$%>[1\:Q-D\U2B/ZT2R*$:UI&7":C2;Q$
M7OSL[0$W;[LU2'.RUR4OX"&!GZ 79^D77./\OD,;.LA]$CO'(+ 3NE1?82XS
M\MQQAS#53:'4<WN(<V880Z-B"$Y126/(C%.MU<N/I$I<Z&,-=F%&9P^^0B?
MJ1L@3LM3#6+'.;DA\'094E9$K[Y[,'C.\89$B!2>D2.2H)BUJVW,VA1#?<X8
M 6\H]Q(7[@Z^:!;/TRRMGT-$03R,+8W;0ZPB*EMBL49K)N#[]^1]E^2I%P?8
MG1\B#0#$A0A"ZAEB5*3(\D\[Q3?HSLW./](P"#UXJJ5@O90.XAN2NN7%[2XZ
M*C-UJQ?9?HT,!(@,J92C071'V5"75LBIQS3-F<G0K-$V@,_+$^X,,Z?-P,0'
M($@?D*V$B8=O'\1]H<_PL50<X3SCWI6*I['+G"7WZ&/M,%CIYLDY=*IL.LS"
M?2)A9#2NQ6XH\U-/F:29+C1J#)G\9Q,]Q"FD7'::.GFX-EFSE_!0%M L9):T
M_7.6_1U#9+9T8D@R"9).??<*U =54VP6,0)%[8')D%._*D-X,BA9RU.GEDB1
MIQCILTAE5-QM#*:;!:FD53&F_V3JN=M]*-3,")MV"J<T?20\0K-(W90F&,/?
M-$1V9F?#V94:<!'H-79Y19^&1^*E*FY:J9AJR1F8>!!ER1AP+&-@>@TT#;1F
M9.S:7SQ(?/2%/H:VW3K/T@SM0'1BL'>JQ*PEOV3B^26UL_36.X29%Q6:/?-@
M%0<=)=\SRL&U/T3)"8"&<Z#/\25XSQ!=YHI[/XDG6W%?JTR?;\HAC_:]J3XV
MO6M+W9])%.&US\G5T]VLU3MOT7W4UH:KK3/#;8A96T>4I:V:SK9JTOKYC,AE
M55*$=33JXVR6U=UG0<!>VH+(4EA"U)2]*M7%==HDDSL E"RZ6=!MH 14K2%(
M]W7Z.8>U%7:F])Y<*";O<Q@O\NURH/*%K,H.9*'O14O44J?S=XE:+E'+)0[E
M1AR*TE*K,&89X+/'+W$E&\K.+XT\RO*+LS[/$E,#?G&^02[SC##6\FM;=',D
MJ^?4/L9%;U_=Y*)^PP[KPX$@GW46VQ+B6T)\2QC&;!B&H[K.@E#.A%NF[LZ=
M=L!@O()QGNTR"U*[$)NQCFBC-S3H<N5"X"$,L"6.@39V64^=KK+]FQ?AJQ:0
MO84&.1FQN-2.KV&!:W'KP6-\!"E23S"&YQ.Y.[@:QO6ZZ_R$.5?&&; :O+QZ
M'>9X<RA< ,%'&K[FP4,2P2>-A7D1*XF)VAOJH8WVY,%?05:5>_+ZZK$&+[&2
MWJPM"IH()AFLK4-P%.?678Y9H3B[BO/L&7PGC]A%=E*3;=C!MTF,Z%\V[7\%
M/@B/(%C'M9TIWLP2[["K82(L@"\V#BM8*IYHAQ(WQ-';T/W8)];4>S+)GW2U
M[C#,$V<6KBL)/ZA6?IT\"XKTQ09I)?AUE@3C&[>21_TL]J^1TV1@QZOC[*FF
MK,W"G:I.11D]<$97!'5\>>VP2?OY_0_\)TC=]$[U=5\*K=?K7VS,,EI%Y+T@
MH"-1+C@#<<G)QI K;@\[5U-]QA\YM_ND8L2;81L:7"\;?XX-:=:B39.R=HUD
M4O:5[S=W$\)91I-"AS/HKR#"6XTTJB. ?]0 3P7>P2M?:K"-3HHL:!(9H;IL
MV>.,@8PK4I .LUO%P1TX@B@YD$K.0A9RD9"9:6[G@@B];HM@*_P:Z&\9G(33
MC"'T"<3X>DT$V2K8AW&(61WG.LI@)3?7$BU9F]I3UZ1E]899F,L2>D:==H+S
M?/*^&=TZ@ 1MY^&IUJ,Z,-)5KUVKJ1-?2DMOMAGIZ#:SD):#[G\=I]W4O8_*
MG"JETL["Y:A,.K':/(L<0V6Z26KG,\HA9.G8[C<Z8*DJ I^&<)JYA*VR"N,&
M,?$F1!#%##.)E<LE/=^.W2V[@(WFAO(T&D5S'']_OZ+_^2:,R.3[/8ZL;FJ-
M8.I-KUQ.%UX\G3JB4V7'H!I_%/4,NH-5S.\X2[*BQ*8J2/@$DU1[A(_S)3N3
M6NM-J.Y_ .B'*;NW@/J+G.65AP1N0(@;3.&3"JE>89%_D0[54$#ZN\Z2U)C$
M^O8G=XGV%2=6!04K !_]^9[@G\H=AKTB@])2^O-3(_!8S"K]>6<)7$/E%Q!N
M=QC=([+UMZ Z)EY@R+P/9:ROVTM>ID^4JFL,06*-$+A+Y@H/HY16 \)>8E^K
M!!D0)-?!Y.Q2."&]O_WTD[L4%JM8!@A_)5!36PRSN^!*H,PNQH<8[P_EW?\*
M<!R)7.,;$S]>[D7O .[_P%N!D2'1?4.9#I<4:)]2+/!_HI7*CPV"LXS+%I.R
M]#8)B;/"NZ,=OR>9%STB],(X#?WR(OE!1+34I]WCYZJ\+\U@3NR3=;;#_:F\
MN,1[M=U"L/4RT$2U)B]U,[8.D"P3S6=WN4GAK [$PLYVL/.W/_R7;1Q]BPLM
MH\@L1ZL#X1Y'][40QM9#- +H["+5=+'F7AY!^6M_T%D=3\Q(#(%IS#9GP6-'
M*M< )03ZP\1#)(0=BMR%S(.938FS]JT'-6MF%LG? ZQ%CU0<K?GB/Q>DCHE
M"B9.[.%3@+2FHR]K<UV.3[4:?])_3-S'RWIH2E,J%^G/R\EAPP*QE:V_+ MD
M2J+Q0XSE^OQU48:'6"6=V5;E2OUMV4GCKI%BJE:Y3#\ORV27>BVU:C]-NW;>
MOF532,DZKY%6-\&BD8^25E:MW;3KU)U9-U7U\*<12N2GMVYC)ZM5BZ7593'A
MQ3*3"5>MTN*S&'=+]4JCJQ9K\5^,>V[))=]5JZ/5>S&7U3&6\E2MFE9/QL3U
M>%.9@=5:+>X,=W88SN [QWF7+(?1MUF/=,5JM98,B'%U0IV9CM4:+BX.8WI]
M)Q&R6I/%?6&;VXF95UDMF58G!MJ\'XD5;1FEVK9=KKI_C#<)W),?G6S2UIN1
M/D_XUAR].92M$XH\O$,;ZP%QXY"YRJI0V'!3K35W36MK$DJ@X]XV01NI%^P4
M9C60T;\NX*)_?'O%#$4%L?UT5+">O!_A/M\S 6L^'Y]BE'NFFL_LNJ3;L?OG
MEYNDA'>[$1C0!S@KVQRS7'HUA5:PDZZ)&O X"6/^<=)X;EYO / 8^H"^.,])
M<05O0-8A);&7^G/,^\])]C\@>P5^LHW#_Z"5(VK@0P++G_ X5BGBR$#8NQ69
MLO\B6./@)?)BK'_R==4A/F4OX5C("-WGZJX][1;H(#":%RB7>C-Y<Z0QWCP*
MNL71Y4W%I/9"CRT>A?"8O/82'=WX="=\\06)[O3U[8OHPDO.',T]+.Y ZL.0
MD&F]0<<,<<O%/CA_FM9S0CQ),Y2T;U!I*!KM7EN$2\JWN*.ZEO</T23E#619
M!(+U1Q1N/:8H%8]W;_E><NCOO#+OE!A<^R0F7(G([:-1NM=3_$'WM)_2974^
M/_*/L_QY1>:1;D5&]#GW"(AM_B2/LP>8[(L;UPA[5+QR-P 193YIVV4?Q+QN
M*'+GW80,"!:%>KW+-M2+Y@I,>)G&0L^W:==B/K);K#C"E*B(^"]\JUZPVF,>
MI.LP_"E#'(-E3O67 Y+(Y(3#NV6]P: PCT+>'#O"]/IBH<,U9)$()L[CEEGI
MF"'M5KI&4&[2]&+$]S!1*#&V>9"B?7%[AT:3)H-TD+ AQ"2VVSRH-N3MUJV(
MWBP(.KM+[:U; 3O5GNLS%*>9JRTZT)M1SDF38A29S#DFYT'<0:3#V%%NK5T5
M;5TJ:D*0GE8[O'!W1=O?3?R8'$+*M&R26;"I9?K&,!D)6EN%.KN25Z3/,-TV
MS12&BLZ+\+E"Q=&P(1=^MT\7$F>W#-%"U[U5TR2E!"DR%:VG+JFT[A'9U)Y9
MM!D>FI&%&4H5E1<6[JN@ZDF<FD7/YE&XG9_45=%YX?<Q^5TBTVR(IMAS6I9!
M<M=FT?_:LD61RH<;HN,UJV'#]):F7X;=(/VJYTYT<6[?("VH)RZ$Y!(/Y]$@
M>@#*BA,F1^SA;&D_G;=\O_?@:;VI^=HI[I25GX5'1)VET\[L.^T(HS9GAVEU
MT9%>VBE_?^FDL7326#IIN"(]FDGWHPN/UN<G2. BO<\8@5N?MY? 2P.*L3FS
MO*C*('-V(5C*_FWF&,M4S6]_6KH6&%C\T=M\Z@1M@@MCN FK=O@FN$1-+<R^
M)5*%;X)+5+NVT[[U40)N@HLSB;/GV\^3]/T;4#N'J%:T]$:9I0Q7,T&7,ES3
M*^":^&F[2.=1#>E('<;$5\&QK=)V=FLM\_NY6*28E,);=;OB4H^Z; *N7UUK
MT9B]^\"N J3)ETHZMB^ZWOM!RO*LO'_7EHJFI2C/TCTAW^Y0:^F?K5X/QY:Q
M;^O*F1>V6;:*RE&:I3K+PE54"^0LM5P6+J%23&60JB^V$CE^88&HI@#_[<6G
MPFN=MDM\7].\.)V66H+)U!)P*O5:IC$!^1-,4L5V\()W+3G^2X[_DN,_RJXN
MI+JF;2UZF;VI(Q--#Y_T%4RCY%1/1YWN=ZK/(V7 \2R8R"):+@DPIE=@5/DA
MU!_FD4@QQW06FZ3.DB+A?'B1KY0N0?>I]E@UWDH%-\8+LT(-B0/<@AR=;B#V
M0Y"N@B L<'V,2>P;_\-)3V>=A1"6SPBGRR^U2ZA2KOFD^A;==FM^.$2GU18"
M\D&.P4H=:,Q2)0&(.INQ76?4H=8 SO5\, ;K!3Z%60UP]*\+T(P;?4HHVT]'
M!:MU/6 'L.9S8\N-CX_UIK;).8Q*'ZM[PP,<F8M]0,Q&SGZGC1N?\2CD:C[3
M3)[+9FL?7*SXE/0TW97O97O!]>8Q/J(/)_!$+7FG#!N-9K3 C=048_N5H[E<
MU!M!/$/M'>-*S>8=;%VIV7BNFV-+S]1# ODL2QMG+M#1$(0_L6(4K5&:2?<9
MH"V,[^\)XT)A[MXFSQZG&99?B(*:G?#MAW&*/=T 'D&[%PUWJ&:(5KX/<R]J
M?8T&$&.D'99J3X/B8N[3=?E9>&AY]D#=2F>IWU.-(2R7;'=8A:N2-\),JOMQ
M%N3C&[ 7842U,R9-H>46=T(&53OJ4@U#LVB&()5%S>I5#*BZ;&((L4DSUE4V
MVIG+A,2>- V7.[HUR"FJ'3MG6C'%%%TMGVKHO ]',=T,D[YP696?YG09=6^Y
M1'<23?KZ6U4^DJ?MG,G&9C&F[V_2U_7V)A?+,3G>G; FB]\X>OHEN^]SZ'V$
M$:( OAP:D24HLUK?D_.)B";?_P@S<C ZF2GB3E!)%#2N+T4[%,(;.83#'P3E
M?EIOJJ^2KS']_LP)P\2Y+E\!3+A80RU;OV]_G(3ISR+#C+J37D= P;Z;M FL
MAX),V3!IDV;([8MDTR#*NIT-!1#-\#W3Q:7KT\FE;:#U&J:_WIQN$%_L]A[\
ME9,Q)YQF,(^H#5D%%S?A4SC-'H1X1?F,P?8 ?W,2U-OS9MB#!@9)C9]J,\RA
MD:=9LL=^X19PW$1YT:R1LX__E< *(EKR.6/0J$#B>I7UI@$%E5GX8^WA]HZ?
M1<3LG\UW?NG ] (@_L'; E8J(7>*9L.PR:+L;'#JN%&9^0U?^8TUQT\@V4+O
ML M]+V)L//;8<4$&VS80S/W''JL%Y!3XO]LFQ]_[^,9T>"J@+O]Q ;K\X=OM
M<PO"V@-S>;A>A*NBCR#.P3.@5RKQQYIKJX$V,39XOJ"-#9%VCLP>(&J*PY^C
M60P4_7W7FZ_("D@@U5/5'F* +9^>&&R)'IAKWN03*!"W^2 \8C677^['&FZ
MGE]9V_RKIFU>@9-F!UC @O^J"4GTKV]/;2BJ7VUQ6<A9IO58OMCXFW2.D9S)
MR"=8S3Z;*:TZIEV#8"(3:M)$XUM@5;X(Q_R9:K:_O.G$W7T-&V7RG"0TD\\.
M:+JU-'D""4VO:L=Q#)Y)$TG!S<C==W69/VF"25G'F%1UBW32%%&-&S121^F6
M\2SH)65:\S?=#++^Y35REFHUU91M-8V)[BR9=-J#LJC&7II)4^0:4<WV%LV3
M9"H>@9;;9=(),\J[[NOSQ"FB=H1Q3)9))_9+\\W9]3II<FB0.Y\[)2$CU#A8
MDV%VR=-O_+S>$)L#Z=W= VW)/UORSY;\LR7_;,D_6_+/EORS)?^,WSJR7.L5
M._6L/61)0)I@ E*UR#=B/K@Q34S3&3\"$MZ*27@[+ 1W8@CNAH7@7@S!/1L"
M&PS4)<MHR3(:@U9+EI%;64;64&=)-1HTU:BC&$^:-DL"S9(NLJ2+6$>M <*U
MTXQO]Y/M-_.._2_I$H.G:TTS%:#?;KMML<XT:3-(Q'N:R0']V.BNQ48+;2AN
MMR53XI(I\1#^ ,$J30&^:+2>E/,*MFB 11T-EPI\^MAQ@Z8)S'8KM)D0 ,QK
MNBB#S(7%SHQ?VI3I Q(A]XA#(=KE%[TD#CXG\?9S>*QV R^!X\J7F@NTJ4';
M\96U8W!]7V>, ,](^.40'RL%2 S$.L.6T&@_<;%*0^_%\\--Z#.E17>,,6K?
M/]W30_V4 >8U(%L+'VTHG)'/-&8<:K/PH.DY'.6SVB?'9KH.UKK%VSVC)G[)
M5&_O][7L.U6N5!)^E"-Z%MY+?;+O>B$PU?)5:4:D*6#C.4+']]*\HO_Y=G'5
MH+^\[1:"+;Y:HF2CMWR_]^!IO:$]O#F1,.GMSHMC$-GCHU%+_26"_9<PVU6[
MI(&4('%?9K+N>PIJ7WC(HTT819BUT0)E,/S(T6LX/2KE)YO,QN92E5\0(IYJ
M#+':%B).SW(7\5P\W"FV(2)P"(AF#;A-ZNR-CD!\(U,4<7NY*LRV;1E$_C+A
MM $7@EQU*$?U^M A(;I_6M\]58+CR8OS#?HO.@UEP13-MT//5#OG+K=)R)\U
MLW!5J)Q-K?BQ%/EG0429<U"%>#/*39<\>>O4XU-[%E33(/Q$&L0LG!6J&U>L
MH,R";!K8KZ$W#>&2L- 1JX-L0N5NO 0EDTDX<LZ<)P_^"K)/,,D/]OAREAI_
MXS7^[^$^C+?KS3OTXG2#N_I]2I)@#=\ /(8^KT&'S$Q;T>)Z_N3FFD.M! M)
MK%7VDH1Q]A@CD/DUV())FFWP^QB)221S4SI0]#&VN5H6UYV!;)XEQ7*4,\NU
M%$O;O*&ZTB1Q')>F"M__\*,\0*<0CN.B_PO>O1_\#$FE-]EP=JV15:)R;+7&
MZ^Z;D<1ION?YA5LC=']_%\;>8URNU3^3>/O?Z/]7,5JN\+L7<\"2FJ@9VE6.
M>"O)PB/G?.^,T0P#L9IO2?/7$'""/=1QYG,6K.NK8$,R1P^CI.Z2DE3Z9TX]
M=FJ,R+*8M#]9K>"K:^%,FCBJ3F)!5>XLB617',<&@;54&#A886 #853-0DH*
MK9KE-0NYI4-O:%MUDXX!*M:(MTS,29.F;U192O.?-.6DA;Z*WV#*V?_R.[#K
MMIA%)Q05I5U<8*>55K;PD/R&H[N=IDJ;P9.#YI&;D:Z"("QP>HPW"=R3K]B3
MAS&98*F#T<69Q7<M#)8JK,!-GB(1EJ8K_]]YF)(M3?Z$@)]2(IZG.3KR'**#
M"0]C!T;:0[00-07^[[;)\??EK7P%3<M_7,A9W=GWY:T%6.V!56O,SH)BC;9-
M2'1\(DNHW.Y0.0W"UW"[R]Z35^ G1P!?8!+D3+$O/]\J%#^'WD<8(77PMFA0
MH8!=9ZIIEGT%6+0CAGH!D&A]L0_6'U%8[#$^DPKFNF46S+QURQ(06@)"6AE*
M6@V]7-G>U@<G'=%0OCP:*Z*3IHBD<EL701),-O5]YG1\T0%",OV'3#:=:B#C
M&HY3L!0F'3D;W%D]RS"1,NMU+;B91D=DC@F1B3B/,,E;_I&"?^?HO?>(*MF$
MPB4MS$1>..9PW05Z^T.4G !B/T0?3+I;Q#QA]@HV>1RT@9.98:[Y>I-B[<O2
M^/0]C[8)?&X@@3W>%A3XMT)3Q]H".K<?/VVH+8"+VK4SA]MQ?HJ$Y"7K7B"V
M9F'""R1>HWLQ6[I,W>(4"E8.G>:2/LT3?P(VFH?C7B1F>42:MJ?^2A;JVM;#
M>G0DC9L ;) QUC)M6I;$%0;/.;2!S.8 Q"D(<$YX$H4!;M5S?IJN-V]9XO^Z
M2R)$FO3^WSDBRI?8R]%19]*4J> 3&C'=@>84I0H6KF[7'&0.V!W:;^DZS]+,
MB[&/F 5O9YQY^A9<>IOL#TE,1"7'"./.,7<S3Q,:KAE&'^LNZ-^0Y//R2'N?
M9O29?1(3:;:*@XM;Y\4+@\?XUCN$F1?Q>B[(3S>X!=JRFLGWG8$&&W$ +\WA
MB<!4D%G0B(,UWMQ%:R![C-%I"SXG*?.6M<888Z"N?#_?YQ$^Y<OZ@3U2179(
M!0B/H "02WWY^>90#/Z5IQE17]X3QDXEY]:'1_2>_0%!7]RX"XH8'RAKO%X
MT@,#'+G:%KK85R_*64?WX)\UF$.&[R<"P;T'<7R WN%$,-BL3'Q,TQP$=SDL
MPAN(NH7B\@IPNUV?J+Q8LG_W8/ )LC=QSY<-=Y05L+SO8))O=^27-3%44@*2
MX" 33#8 =5^ AX$UQ5_X'F:['8@""(C0RY"JDJ5DO4&6141Y3#: G*$>7O$T
MY5/^FI<.MR*_E "]%@"])^BX(ESP=@9HO2DT!<+7HI52?Y^= J)R\Y)!+SGT
M=TAXOT1>AU6O?9MMZ),CAPFO&O*"=YG3/ &R/* '3P4C/B00A-NXR!7P3Z3N
M.RH\6)>CG:64]GG5T (6J1U)' ,??Q=OR%7VO@-%]^7U9@/P BF<$_)OLP$O
MFJ9V[=LH>%W<=%0OY\6CB)DTR/Z.LPQ \(_?9)! 5_Z8Q!GXD=T7<O$?OTF+
M?%&6D_3L90SC[/=!N#_[2+TH8KA&F?ZRAF.TY:#B.$%[4^*_.I38>%$*E%$-
MB*_@M_N&)MH+Z:ZCRVJ\PSTVM9+XMT'#L\) G><*:]Q$2/?:.$*)TF$T("G.
M3BF[22+>%%SW7*T_C(*OS&:*[-";H9]_@-^>V47 )NRP$9^1AJ!"]]@P+2PI
M_D7'$1=N" DWY1 D^(-M:]_R<3J.L_2R*_A+AR#)'VUC@^&=JXZ349JS6%[5
M(?#_DVULU-<K.P1Q_FP+<52=NT,0XR_.$6,8.OS50CI<Y8\>@DA_LY!(?=W9
M0]#G9UOH<[6O>Q MWSYG4#]?^"#$L<[XZ^<M'X0VUAA'5_O=!R&/-4;#U>Y[
M.?*4*;7-E-F1$VHO%815P3C"^R.,R8Y(B5<I-98O2ZEA[ZR7N)G89PMR:/T=
M"/((K#<4^-*;4^U?W"Q;U==HCFB=+TA]0/\DK+[>5$<*SL,.T3[VSE]_1_QY
M@U[_:PN;JUZU]+1;VBX.TG;1*J)>G4RL46*5GJ[_H ,PP"6#FQ $N/-*EI8P
M!ZLXJ#H6A"!%S_(];LK"$0%#?<48N1[P&0T^AT<"YV-<GMK%+X]QYL7;$$':
MPBA]\6!V$>:UDU>*>@-_U*9M]0*3!]S%H-;,0$0=U;<XFR4AHR4UK$5E9<3F
M4*F$LB]+H.MT')N))!]/[JFH2G6>LIE"_=A(M66@U1202M'1V_W.$7KP$G5T
M$F38=)T1/7/]CR1-VJ;C87Y5^@VM?CH>VU8EI[("ZJ*_[ZSHO(5HPVU"WXNS
ME4_:N>((0A*%?BBX=D6S=XD'!\OOIS)3MS>,]U6:&T]VUJC7B;PBV4 OG6P_
M'16L)[0)]OF>"5CS^?@48UQY<WEFYR*:=RQADZH(MT51\ATW:TS1D?4*4@"/
M: /PF\])3K84.:Y/4&KJ5!$SSY;H?$<F<G;"D?$,P8>#Q0?LI_F2@DT>?0XW
MK*",S$QC:/WB08C .E7DYI9 ,P:/*_>]'WRYWWBN^42_*SLDG3O+GG,\BX0*
MVGDNG*,91LIWO!.I  "0KAT)9EAU=PVQ4)Z!RITUYRD&$4FSXI9=+-G*-.'T
M+8G:#",QP3DO= _5_>)KE="@K781L4U/AE96W;S24F]M1E+H.U8TABH2U-1H
MF]'GNT6I]D #0Q>66.#JE$72D6I#*3^WFIE2=Q[)J<J.4(CG^1Z61(XP$_L$
MZ'DP*ADDCI*FCU59IPW+JG$T:B+2%9HFD<U(#J$KJ(H;F^FC7UQ(VJV.QL.N
M(8K(4'8TIG7EL<(WNAVMX;R:)FS[W<7('EI*7.R.]GY1.U8%^EX2<N<#,N%/
M=V&49^$1O $_AR20?F5,[_KNEPBRH -5<=<?"(J[ />'/"LOB*JJCRLD.PO<
M[G*IZ_469.1>B8M<A8&6CYCKI4J%_MG;\Q.SA=-TAY!K]<"%,E,O(&=GP$O-
MLXSXTJQS<Z*_@!,7'/*+EI'Q:AXV'VMKL>O]#]QK@R61&(--1]1D FF.[\/5
M'BM1P^RX\MT#W<G7J74N"L79\E1NHG.QF:%T*WKJIAZUQ'&7EJS0OL3 I%0
MJZDBY5 ?02EH]'L2KH,C).5YX"VCJ?,N^S'D)4OYL9ED/<J'=-JH8A[4Q/*.
MNH[[G#T,=7:2%-"S<35ITXYZXGOK-Y(ZN8M^UELOW2&5#?\'1V>/7H1[!UUD
M(/WYS:GFJ7Z,CZ#H.73K96";P-,PM15T4+"W>Y= $A&Y0,*OM>CY)MV]]56@
M8-9B]'B+N0X#53GRS>G\YS]# -'>W9T^@R.(./XQR<GFD7LBS8J+.SR[D'+]
M7FKOF ^JYOU]ETTD*.^@#+0$Z%(ZA_\AISO7^2<Q<8I(F6>SIR0&IZ(?VP.^
MS)Z+$&.P>;'P&",=,B4R^2<N!KP9YE+AT5'*@)<\,AAS.)2ZYVH+02$Q!?<!
M,B=8Q21_4&:2/YA&HZUO(=T7PA,REGC75 HF&4/FR]OYAH6S.<1=$LZ$<93D
M)N561V1N8-46WYA2_?V0P#<T^@Y\9#4?R1XIQ;@S \Z7N?'2SC$^TD<-UOGL
M]P#Z(;XVX #@<X)OEB#6/\FFHB+.984K7FB0"!"WT\U:ZR3 DS?'7'P4Y[W=
M>/ZO()!$A#?#N>B@!L? I5EN#WO<9H^W7$Q+S29O-&Q1LP(=(14O5C42K=R(
M0<GER?=W<M7)1[.^;::-W-9C^Q38N-/M74=HP=M;NHCAQN:1B%+(^SGJ!&(Y
M$!PG1B^/(U4 TWP3CA)'D_+3]'O8'#T=\\B1/>MMIM=@4H;GB7*<((-(FC\X
M3IP!) W/>>9X?D&_/<5SPCE*D!&L<YV.0$>K*:]CNVL<@HZ66EY+,*[ST/%;
M,OO1A.N%=#$M"I,ASA(DB\^94.>?\'[ 3?2W,>Y+7/R(T"UN8\M,UZ">P>R(
M4DHXO#707.?"_",*_2]9V1#[#!JOS),_QSI4."DCW"E&\RP(&*_>]R<D!R Z
M(LBQG1\.$0)3Q%:L:=:M#!9TW%0EB8E31,I\-DQ-N@HS>YKCC(-\PNWL4W1V
MD)8,HKW2'*P[A$XYK-AEA)S1YHG*[JK9&.)<&%-\>#?::O%/2YN]F=)5.%(:
M@0Q1' @6R6GE8KX0G]A6DT$J9B:C7DGME=KYZ A5>-$S_6293!Q-7D.B[:6!
M+?N1/?T*,J2EOSB.O!H3"-4F1_VQ/5E!H:V:I5Z<(6X FJ>GY@Q+Z>[B>6CH
M8ZTSE9WSS*RS'8!G6,Z:7J7F(8WO">#H;!R$*?B"MA,L95G=6&EA>MT[K5O3
M2?ITZFH]UQ^B\ +-OH87F!Q#K*X^)/#^AX_OGXN#]4>*Y'(&:@<IS?,@/=>Z
MA:EV2:]%:4W6O" --8[M]:$-F[@7A7&2V6SM2'M/N*?TXC5ID.#*T]1J&BTN
ME3%]!BKGMN/V-']K*:H"CM-"+[.T=0G'70T]'"]4E<4=]\,K^I]O%Q]$=0=*
M_?H3*]T1S,M:1.X)B8D6-!QG0BG72EPP?;GS4P*MY1;G(2@V\BW..GCSYB1H
MHB,STSZTQ$XGB9G31,M\+A$32&+_84@%[AOI^<90O ,'"/R0:!,,+!I#W+H4
MV0W?D[P616] +E)37#>L>Y%GRO<(3N>2W9G=,LOSJ,DK/E)L[HQG33)9:3#R
MN)&TU*,5N9SU*D6M.I%MIM(UIXG ]2:O"KKNFNQUW#;U2$=),*,+::\1%[UN
ML7?$S=JE1_WIXF]=_*T:5^T33%+E%2LFV8?,XJ"ST$'WY/D[M,-A0XKQ&T1S
M9ICK6.G[^3Z/O P$=44#_1T!<J3&0=F<@?S.7!(&SMI>;XQ GX&7@ET2!8_[
M TR.$GV>>3/LVX7L(C[N%.U5D?BB&P!)@52RR;Y[D!Y\$HTVUTD[ATB_0KH/
M@NDA_('_XK,)9X(Q)+Z"7>A' L!;@PSV#8[3#.8^%AR/6'1L$05%;8,Y4Q8O
M]^+EEM82[2;*XA==''[6.ORXFK/-KI_!9(T^)7RJY.-S%%='=SUE4^_II5 ]
MZAY)N/7#; /#\4Z#/3<-SV!QO)5@3XJTK1_'FP?VI +?K'(G)%$O/,^\>!OB
M1J2X,R(6 3B;_7L816_Y?N_!TWJS\A%U(&XOT!QK.BY1P873\#/P.3QV011%
M*)1>84&L0@SOS>G)^U<";R,OI5[%JN>=YEQ)[(6J0\F[G57A#3:B>0&Q>P^T
M/*K4M\P+7?.9OFR A3414E,-!H#PM1YAO'T%Q'+K+ <_%B0UV<)52WFA5>$T
M<\[B/,V2/8"$WDCE2'?A0> KYLRP<5UJ3H2ZLT!]I5@O,IA)?P01TF6#=^#O
MXB1*MJ?7<+L3;#'1+!O7D!V,$TPRV($(60BXG/@5I  9)[@_?4EY84!<;J[V
M2.,1Q!Z^:R9Y3F+L%@ 9-]3('FZ,Z._0"P ^Y/D[H#/,V0A7'RN('NOJ95Q8
M[:>7NU=2W:1H^(I4=5='*,:]7G)4DKF1*R_A=;IVJ\K9"XX3J:<MV(RBR9D?
M-E.J1R3V"N>0Y.[L;F['@VK#[<ATP%R(,2^9NWXW<LU+Q\-M _(/TV9UG&0:
M.$IH]#H>M1R0JP:+<8]('@T<)&F:.Q[KO8)08G^ XQ%@#4S4=36X$P%N%:4]
M)QE(7[Q3>2,EEB[KS2T20:&=+<#J #YX/N[9=NJ(Q';M 7>.N2(*"EB\P"U[
MO%4H<"*PS.%6(? 9[S'(#3@*ITT-(?,ATZ\>##&SO^)K37FH4 8:+#!")CP&
M1-"WJ3G**N8IJ]!O$@B3[V&\O?4.Z$EV4F DYBO,Y=54]SKC"W(%=:3TL?:
MSMT,K-%N@V]>&C49G(L#=:@QP%_!,8F.>!,VMRA//O'G6"&M^+6GW8%6'&,<
MH=,99@7 BN>N^6UZDZ=H[=.4^%72P@HM7"Q\7,3S- ?@GT/$EG@8.^C>'F(5
M4=F<S!IM+G$F079[%OK2XH,SP9+SAT-^FXRM*P_-J\4)8^]1K=+M%H(MDF3W
M45@XB'P_R>,L?0'0!W'F;=M6^E6O&@&C9Y"MHBCY[L4^4$>",7L$N%L7Q38Z
M[ZOC(?FV,? "*8!'P+MYXM0#/[6W6J&[26AM%MVGA9EGCW6<Q]B'N,3R#A3_
M92[65:\RF%_ZD3V2HB=2H.VE8?IV0- %Z[BNZ?W$3#25G&X%"U;;YP&"?^<@
M]D_KS8MW(A6S"GX.VFRKT",LAW09HJ*#U(?A@9,-K?(&J]"LHE?8<:"R?LUY
MEJ&TWX<99JD' %9[K#\H(=:=;1EZ!>5QI#$*L9+18]EJDZU"[O['(81%\(PC
M,&5FCJ"6G)VT2&2#SR%BFZ*[POE$6F\J/?85^" \8DE.O2M3X]NUXXU,T8!H
M@^CK=-@;(ZQBI_*^Q&L<\LQ7.)L+3\/R,R]3AC9A,HGM5#.4D9)-I5PC8.@(
M/7AIZSH),IFD=+9GM]DTI17"=!QK+9*"'12UFCI2PH,;&VW4#[%">8[0@"<P
MKB7"9(0$SV=;IX,@KN@X%011:Y:X< )[*:' "ELV.@51SA-',.>)@GZH3T8
M2(=0S\G#G5BFS120KK;B& QR.H,#W2VE1($@_%LG@P3O6$V/GMHD)=VR4<3"
M"4!;30XI]I SLNAJA2/8\TZ+_N@/>V*,6#DH;6%=%WVWF4K#G"I=3<3QBL#K
M.865U6 S889A#H;%ZGC%W_4<(IL_8C.AAN$8IB+G>/&C!IY1S,VQF6##\,Y8
MILV(=:'2;$//81H"^[]8C'V_Q*@AJ/17BZDDGT4U!&7^9C%E:!.HZ5=#$.9G
MQPC#3-P:Q @R[3]1I4XKWVL0FMAH/RLGC U"&1OM1=5<LT$(8Z.9I)2G-@A5
MG#($^F;##4(Y&W5A:C[=(-C;K M3Q0PS3<^=7C&7-C'D,JG4RHXP;VA/ IE+
MR2D#S97!5[!P;^IH#C)[VZ]D%C-MJ%[ 4YC5@$;_N@",_O'MU8NW]'8;[:>C
M@E5FC#$!:SX?GV*4$M+F,X/<EZ8)7!\ 9JEX2S@,:_I(X"9Q!CV?60DAGC@N
M"R!1S66!QG.C] :@2;8U.:#>DWMRJ'#H+9AH#*DF5+\ W#02!*LC^G4+\#&'
M#21L79>J'0-%Y=?8B? KP#I0?4^PY+GR:RQ!^#9)Y=:0##3?#4<$-&6@L[4:
M;(6M$<]L:4A6YX9(9)!*(4W7M!Q%G:&-87PI&I'52'(SGZ@Z5(5E@P VXRC?
M=IYJNC3PG42'>-D=*]9.'26$:/\VU5F;,VZTKK9(-[8YD40;(=3U:9MS),8A
M"U7K=CQIH@]9"C77\7P)2266HM^[X_YMM0I_Q]D<.3R]98G_JY6N8'R9=W8B
M#=S7FP:X(M^PS$QS?=,H8/'\QNSQYOW=):&3_2&)<7X'K_$N=\ZHKCM"PE=P
MR*&_PQE-^/YW;[_*,[2_P_^0>UK0>==VHJC,-+8R+>)RN_+1QYK;%\E^G\2$
MPOQ+:SOCEHC$$I%0E  [#X+N/J;#R!EL =#4+2X<[BK@0W4-9:QQOLW3[/U[
M\K\ )NL8O($CB-D]?=5?8O $IQUDR+P+D^ Q?DB0F<<*(DA-'65YWL A(W1\
M1EK=A<#X7ZJ+)'Z5;HSHFL19#^<N19\WF-LPJS@XD_>Z5>KW>@MTRV800%JQ
M;$TS)BT:M@=9FK2ZVXXA)'@S[$#CJQ?EH(()V_)/ &GQ4OBPIMJ!6*$?$QAE
MD*D/=S8(J> J:-0]L4WQ201WA*X&:HB6;M3;3! )#Y\BARBY":PFC5R7,!F'
M3IU9&'X&JRDAS21T[TE#<'1]%8ZBOH3U70KKBW$4>S;.XHUKE3M"!5KS%GUD
M<+[MEZSWY5S\T<,/8G,^A%Y-2<18-E-"OXJDYDIRE#::-I"$I\KFC!O]VVC@
MQ+(14XT4=TTOYY^C)!KR]!$[%1W/W-)FL+9]CXZG;O4\I;@N3,?3MG20A.D.
M=3RS2P=M&AY5=Q*^+KE>!(M=$B'BIP5!K$SX*E=)*L6+/M9</-7?@2"/0 G1
M3<%QW')@S@QS]^-%7OSL[?G7Z;8&:0XL7ORK2/OY!+TX2[_@#KSO._ 8![E/
MW)08!';P4/45QLG-29MK##$.J )?F+\NFISRN-5'@#VZR&SQBG,)8MN#-/ Z
M78:4':I6WST8/.>8+=#&+-2$(Q**>%M6S,3:T$-]SA@!I9O%+_=M7T?4\>[;
M9A 065#ONR1/O3C AE6(M \0%YK"8XPK/L(CX,M<Q3?HSD;)/](P"#UXJD5F
M7DH[Z(9$=+RX?:>:RDS=AURV7V\VR,J/MRGG'.N.LB$[MY!3CVF:,],_6*-M
M )^7&=$99N[$A8D/0) ^(&L&$P]W-L-5B&?X6(>P<)XQE.X XF5D758\C:U,
MEMRCCW4V/X5KV32<Z3P[PM$@%%^)/#O_E!5_F\DA7W\M-AP;?7H;%H/-%)!+
M/*%90#1\)Q"6[H>R\R%H=1$XF-GF. 6ES3$W[^Z:RGU5(T;L!2>JJE5G,S6&
M.E!'O39C1-80BELEN]G1 +2LYDFQQAW'6/JT9=KUCH?/^Q! *<)G;8!<&G,)
M%X/C@7%I4C!<$].(]5Y.Q-K:EI<B85O[(<_0O(H#EB#P$@0V'@1V)AXQGQ"P
M[3U?%% QUR2%P>Z_>)#X.PO="]]/EV=IAE@7'45L%I>894.\Y=8[A)D7%=HE
M\]@1!V0DWS.*)-H?HN0$0,-<ZB./!.\9HN= T>"0.,P4^4UE^GR3@GBT[TWU
ML>E=6^K^3*(([Q+)L\0/.PF_XQ+(6P)Y2\V\#37STAJNXX3HXW&4U8T=#T;T
M.B]$.K;--!GJU##0HV7\ F2!*%&R8AP/X[B0,C5^K:T,@YAAC?'K0^4WBP9B
M3"O2\>+A*SUW( M]+UK"'DO88PE[+&$/B=:*A;;.@)H]?G%,VU#3=RE\+M-$
MSRH42U8-^,7Y>LG-,\)8RZ]MT<V1K)X8]A@7S6ETDXOZC25*X+)#;(D2+%&"
M*4<)-+J$.5JFXSZ]V;E^K2J%XFF[COL"%]>HV?*Z@3G)QE(!S0KTU'RN:&N5
M!4/I*MN_>1%NL8>T.#3(M'?U4N>$P9)TLPHFF;/CSG"M8;$&1:^^Q_@(4G1^
MUJ!%#-D97 WC.FAU?L("0M7@Y:4K,\>;0^$""#[L< M##\D=G[3KXSFJ)29J
M[VF#!,"3!W\%655&PVMMPQH\15);T L-0U<<0'<YIG9Q"!4'TS/X3AZQT_BE
M)MNP<K<),D(#4/2[?04^"(\@6,>U%1$OHL0[[&H+! O@"]G+BJ:()SKK;9,[
MW1N:G-8CU&8OA;QG:@"M@D[RSF%L,_UD+H^7/CAJ%>?,L])J8L@EQHK4K@9;
M2!#/$9+PFOYHILEDN@+U$-V2FHSC/L(>A%'3@ASW=ZG31T9U<M8ET_%*M0--
M[>?W/_"?(#7NF>GK4Q-Z;ZY_L0T9=2(L4A8:DOEW5[[?&(E6$7DO".@8E.S-
MP%]RLC'D'F.T\\$YV?\S_DC([1/-FV$;&EQG"G_.=% Q[Q+"/6Z0 ,!N>JJ?
MCCW.&,@XE1OI"+M5'-R!(XB2 ZF%*;8K%PF9F>;$/8C0Z[8(ML(D1'_+X"2<
M9@RA3R!&RF>$(%L%>Z0%I1E618] !BNYN>[ZJK3I.XPTLFL5!M<-RD'H*ZMM
M6$T\*>>-A.I1)XS@7'2$'CS/C4Z"N.&VZ9/,J,=,D2#D)#S&4MIDLV2\HZLY
M[M]2)H&4[N>X4TN9*&+-T?'<+&6*2*J>[CCZ7M'_?!-Y^ZR\SG%Q[2VNO5'Y
MIJQS+[)]JSS+7T"XW2'-?75$<F$+R$-\$?(#VGN\JZ#&AL*&[!EK4LRN;_%9
M+R'@^AMH(_6"G<*L!C+ZUP5<?&OW*V8H*HCMIZ."]>3]"/?YG@E8\[F]PH(I
MY0I1AT!#NH)4[?\@G[)CAQ0R2WZ?-,:/OULH@9#FLR7E^(K(VIE9V6 WQRR;
MO]^GS,> KE5RON*</URYA\TK'_WYGN"?:@V&5MLM!%NDZ3S&&0SC-/2'5+KZ
MPS/NV8H,1N[9VGAN,MR&:(3)2,32%V3EIJ]O7T2!-LX<\Z<=@,?0!W0^>TZ*
M)-9BRZ;O2>9%]>?8"_><9/\#LE?@)]L85[\5ZOU# LN?\+B?1$?H.$!HKN]
M'R&NA=@'YZ5E%WAP1KLG[:H49\3:.9'UZVR'2TF]N)0[-0'3LO1> 9;TY$H9
M)'"0<91[T3N ^GT;@\"HNZTXAOP-9%D$@O5'%&X]IMHI'C\]67)Y4S&IO8)C
MBQ4A/)K9XPZD/@S)N]<;F@"A\8AXDEEY\R'>RQ^=O?SC$!;)N^)F.UK>[QZ)
MSFTAD++1[/>(4/)K*1NZ:";^H'OG6NG#.0L09(Q6>^D5J<BZCRC1Y]PC(([+
M)'F<X9SR(@)'V*/BE;L!B"CS2=O*3(F)Q>SJPJ)0KW?9AGI1E\*$MU?)+>=M
MVD_DC^P6:PXP)3H"_@O'8H/5'O,@_3SF3QE"I23A%!!\.2")3+1%O%O6&PP*
M4ZWDS5FR"Y?LPC'I.W; T_554"JXY88$':4$(VZ(T:7$[AQ%<@PO/Y-!FA$Q
MJRG(S>NEQLPJ/FFPD+LX2@??)EIXSB$)-9BG=/;TVER.$(Z7]VV$<DN"N'R"
M>&N!',^'ME.SO"*^Z^AZB#2K9N36423'UJP$@62;J6B'K!NY>=*8?3P&D7MC
MA_NGO@A7R@%A_H#-]#,K 5KVF^/E/)9I.</D=4Q]C70( WXFR! 4_)-%%+3K
M3!.GG0RQ'G]V=3UD4U6&(-I?7"7: "DQ0]#WK[.EKT0^S1 $_]LD"#Y([LT0
MY/YYMN26RM09Q!%A4Z2L'\W[)?4,0DR;G&,ZB2E.$QJ$G#;Y&/HH88+LI$%H
M9I,IIDXS<;[4Q%ICO.7[/>Y3OZG9\A1_M#4W%2U-,Y:F&5;5-IU="L4%<+K9
M2_G[]I+8[FKCI8YT*8[7LR.;^::C"X36YY<RU]$6OD@',;;PK<]/D, /"=R
MT"2-NQ!,D,QGE6+TYF Z09O@PAANW:8=O@DN45,(V[=$JO!-<(E*&9Y#D-JW
M/DK +85X2R&>"]$E=2?*U.GO;N;P4J"SE)<LY26&Y67;Q31U\L\YP7J"[-MV
ME$T])=@R\E/<:$L*JQE]UU WBFDDREKAPUH2;4V>'8;69[YYN9J]:^YD4XD2
MJ?#?7GQ*BU3%=NG.:YH7@F5)H%H2J)Q,H.)D.;>\4 3<3S!)%;OW"=YE;R1B
MHHE-D^Y2[5*F$B\G7M/>$[ULVLEQ2]!L"9J9* _B;-ZIT]+-*ODE^+4$OY;@
MUS5R3ZBU3)V8-D7^;?"KM*K4<&5]F!%"(3K@[C&(=4#LAR =XA9GAHUS@:(-
M!,L-(CU-LS7&_B3-(2$UQ9Q-5MLE"+1GM-277VK]9U.N]J_Z%MWF<7XX1*?5
M%@+R08Y=3!UHC/C$CUO??6R[F#K4&L"Y#A;&8)>!'^B:S.5:Y@&7'1_SZTU-
M4G%V&WWLO(3TU3S.$M8 AZ9B'^#&7W2(V>,F=+$SJ]BO[+&QWCS&1[0P"3S1
MJ$,;-L$+8UE$*G1X'/CD4XDVSIQ3N<'1K"M9VZ,TD^XS0%R#VT*&<:',=R\$
M8X_3#,LO1 !E)]S*.TZQ:P[ (VA7&'*':H9HY?LP]Z+6UV@ ,48ZY^E6M;W.
MGD"A%62S3TO"J]#ST+UX2NE&B=54D7*1\JR6NKN$I6<[0@'>31S7D<"-*S7F
M<=>3%,=S38>&DUI59CA"&]Y>&(HXSN\2.7_#Y;R@VD56XSZ':[[8Z]M;<Z*:
M>#8301@!5'&+UT4"0W8X&H^:Q44]_;F>:K/;3(7!V)ZN/CI:$->'(9@>$9MI
MH)T=IG&12F^!0/=$.7K11F\J,'U@CI8']B8$R_7F3EI%/:,BQA<4%+=##)%#
M<;4ON@'A:YC^VEF8EEN:,\&80[T#$Z\@A#'8'N!O3C=HC^SV'OR5$YH43K,(
MH0HN;H1=.&UJ" V4/' =ZPG*,G@S[$$#@Z2V-+49YM#(TRS98X.@!1PWFB^:
M-7(*R+\26$%$2V-B#!H5R.).]0845&;ACW4/9 OE37F!D[<%K"@X=XKFH&^3
M,=D9*=1QH_+#&[Y+!*O5GT"RA=YA%_I>Q-AN[+'C@EP$JNM ,%F8/=8]D"W<
M==<<CWK128'_NVUR_#VY_PJ>"FS*?UP0*7_X=OO<@K?VP%PRCQ?AFHHCB'/P
M#.@YQ_RQFJ58T<9QO?F*[-@$4G/EVT,,K.73$V,MT0-S^94^@0(MD0_"(S8+
M^8F4K.$&Z/F5M3>^:MH;%3AI=H %+/BOFL!$__KVU(:B^M6Y="AY_TC=C\UR
M1-@<U)-+?9#U4G"IT;&;':$++^UA",*XD?(@70_*=\_Q"5-S2-A,"XGT#PDU
MK$$*D3? :G((,T+8GH(J(L:Q>1U!G28VKL3=#<G09S>HG:L-QX&CI)!R[)S#
M8G3GA-6H"X6 T(U1[0>.)>X(!5BRX'H2."(2^FJ9O!X<W"/5$6HHZI8]R>$(
MD_"%I= ?AXE1=Q8YBJMJW+&1245W1SF=7B=O1["T*YO1UZ8LT;U_CJ*NO-^Q
M0]%17*_9[VR7I=,IE%I<!RT_C,T$T;D3O@YT\NG*(=4L[SD:M,U4T+'B9Y^[
M\[F1EY9QC9_7&Z+/K.*@*^>6S,DE<W+)G'0M<W)),%P2#)<$P_$3#*>3I5>1
M:<5.T&L/69*#VL2[$1/OQC3Q3&?C"$AX*R;A[; 0W(DAN!L6@GLQ!/=L")8,
M($M<T4L&T)+@LB2XZ-LRTTYP69([M"=W='1:J[%>0OE+''?*09V1PIOJXN'&
M!398 IWNYS:,%-94WP&W0R[Z2*$]=:SOAL1ZA*8X_;"^5\/:Q>CF0_@#!*LT
M!?AJHGJL]Q5LT0#C-Q:7"DCZ@);Q'M$'(II?Q$\<?$[B[>?P6.'04?,[ET/V
M?)TY!^YYY11AE[N2N-=+ETKSR56:/R<PVZW0HB, F#<I4 89VQ?/2([E$.+&
M7H0S&9S>&38J55=IZ+UX?K@)?291NV.,T?3^Z9X>TZ(,<-:;?NV)0K\^MY]P
MMMJML!3/Z$B08\A6F_'N<<WJ-;J)H33*$=UO.D5.]]QSU!6CM(4H!ZG#7@<I
MM&F'LCMVZ&O2N-@5_>5MMQ!LT18/RNWPEN_W'CRM-[2'-R?B?[[=>7$,(M-6
M: U"8C670(JL3>$T8YH> S*>S<B=8C)5+(.>G_T29KM*I#8X1Y C*3-9][6#
MM2\\Y-$FC"(L#1!],QA^Y.@UO+L(I2=;NR3\W%OQ5&L1T\!K@UUU6?]2C5>0
M\H'[?$<1M]V@PNP!X29W%<@!61\Z)$3W3^N[IVIEG[PXWZ#_HN-.%DS1?&>-
M;-D#LZ[H\,\DQTT -=EQN8I)_JRPFD"R"1O2!T<K1B]%6T<H).C',"")W.C1
M(.V>D%%R58CD=+Z'1D$D4B <M<PU4JBAJCB:**"3'$(]R1W'QL6G(>?&>/+@
MKR#[!)/\L'@Q9N7%6 H)C1<2OH?[,-ZN-^1.UPWN2O,I28(U? /P&/J\*F"9
MF;:BQ?5#R,V=+FKFN^%7X$$0K+*7!!W)CS$"G5];*)BDV<EQ'V< HC,YI0-%
M'[-D!2U90:9]S^5QC@.M-+WU_H<?Y0$2$CAVBOXO>/=^\#,%E=YD@TA9'P%4
MD2:M\;K+=),XS?<\?VAKA.[O[\+8>XS+M?IG$F__&_T_,EK?O?"[%W/ DIJH
M&=H5,JGW218>.6*W,T8S#.6-P+B15P@X,0'JN,5?[8:_>L:UHU*>: 6[H7&)
MO)SRZ@A]>'[H(0GDAA=:PG.F9,LTR"2P$!REBUH13M<&L1EM[4&),8OMEI3A
M)65X<&G81\7J9<XY'J#3<6JTC4!'2:)8M=FR-6U&>K 8MI1B9C-E=$A0%=/?
MT6"UVM;H.A9L1GL076KDZA*;*@DX?AV'X^[I*@C" M;'>)/ /6&")<:^Q-B7
M*)$Y=KG)4\2S:;KR_YV':2$F\9\0\&.WXGF:_=S/(9* >!C;Q=T>HH6H:I<J
M?WEK 59[8-4:LS,I6*.7&*'YZI77<+O+WI-7X"?(8GR!29#[&0-9^?E6H?@Y
M]#[""*DXMT75K )VG:FF6?858$F(&.H%0*+QQ#Y8?T1A<=#RF50P=XG<.1&Y
MFX)IM'B;1_2Z2NMCE_O[VHJ1HQ10OK4,ZUI6XRH5NA8H9W4Q*,$;5M-CB3F8
M]34S6<UF:@S$-0K:M:/N1MW4Z2KFCA=*72%L1(J]BV[:M_PC!?_.T<K>(QPS
M.]VU+2!%;EKF<'/M09L0<9M^TH;J+AS8'Z+D!!!#(U;""WP+ 5KV5[#)XZ!-
M59D9UA#VQ+TTD#7:)O"Y_E?V>/=1,%_RTP*-?PL;=:RS_AF1A&VTTZ0*,\=M
M$!D"2,E.J^D@99L*9"J/%4Z.W,4BESZM@Q"329,6RGD..5SP4<FW4^7H<@*6
M4+&[I<P$WXO\//(&LQ/.KEED&@:(*"# Z7M)% :X>\*-%V$3Z&T'0)9^B;T<
MR4'TO>Y*UL"D+B5EJ=+Z6B'H_GA>J!1W<L"O^BWZVIZ^1LUFXXWK8<B3LS%[
M8:+O /L!R$DLY,S1\7G+$O_771(A8-/[?^>(>>CV^WZ?Q&1L>DZINQAT+UX8
M/,:WWB',$%JNH%XY($* N]C($:(VQT4\!2BYQKRM+4?A6R_=H;7%_\%K>O0B
MXHG(;CT(3XB%OWH1UH4=09>V4A0Y5%Y3]>*=\ 'BYIK2$'N!"3I(L],+.ALR
MM*IX10_X"'D&6=W<L1H].3'S#H&7YO!$1C>9M(;@;ZW$L(]8I8UR9$$%TO4.
M%!49Z-1,]N#=^U$;[Q+?"D5M]W8\A%Y;^-B.I;2$A3E24I,88= Y-&W'D2U@
MUTB\HMGQ]C.2/H!$K]:;+RD@,^JA)JOQZR-_L'X;9GNB',38$L%4 +%?5_,<
MPEN\N.?@V^4Z"6<0%8JBQQB;Q0D\/3O$MNQMB0NXOH=15(]I6HV*W)Y#4C3?
M8[A 4-:F[ \0[+"#Y B*X_)SDN)#<KTA.1:.8"_8A^7A\8KUUN[>LQTYX=Y[
M@>#@A<']CP-VZB!A2M:6[ANQ'5F^-E 4UA6KV3QS",H<L]IVO-FBZ#'.O'@;
M(N6N&(,VYSD?JB.F_F0YFG)BZA5G*,0@N/<@3M!(:V(+Z?:A'V;.("RGW3(4
MA383VXXL1\V]2"2*!/ZSY7A)"*7*YGS)H;]#:_@"0Q]PY)';*%,.UC:"?U-#
M<)R< .ZUI8-<5JH,'+]DICG&7&X%4XRW$RNZ PU6*JD$5*CH*+W"&**RUG@+
M.>$T&Q 2PVX%F/Q=3!EH;E?(A6OHVT%JKCF!RHC*T"4K?; QX/F1%RH*W"D&
M^^1VXRI4\"D#S75@$(40J!B(9AG?"?1  7<_4*>81(06!F!A0!EK#'2!IY^*
M G^.44V*Z;IG*DZL&9:L"-4]+[$JM'G&4&JZX:G0-X88 _3BN:(">7YL4M*H
MN<I9,DCI+:8%:]M%SA.LK;$&-24)]S=#81+/U-UN7LEYW8!:?;Y!,23CLV:(
M)XFI!IN"B#W35+0D)MIV#O+WCF"2.63HGF8Z#M2QFG>\M&>XN]EEI]IP:DCI
MXO6!W>SX5O[[V.GQES):PM+IF[\#01Z!]>8AQQ<G/H5QN,_WY.&+=R+*[#IN
M[H.T+*[]HPUY\XPM>D4 RO9$UL^X.P1@(%.MV5U.K?#@SOT2!X@[L$&,1/@/
M'S=@V.-_.4.9ZWF!$K>S/>VN#SL0P?LEAL"+PO^ @/1T+F#^1,JCG$D)OF(K
M,)FE7UZ742U&37VQ#GPWE3!5YFO'1V2GVXD@^[!0QY;Y+ML8U:#7C*%X<X1X
M5]5F#[9.3^67<9Z?INM-27+TU*IZSHO?JVKX%<8YOD'A#.X-V"00G,,H(+W_
MD4$/G3YA[,$3*>7'?(,['"41^L+V$5]<!%)^<M7EN\ZH;<\@JT/=1>Y,H]*)
M=0-BL FI>JF=>LIY=4H$&"V;4H!>BH/-=^ (HH2$-<L9SBSF)X@6\04FFY#*
MI[V:X#F".G4/=DG0H) CJ(TMS;#/"@U/FA1M[P7;33-)P38061TADFBM6U8K
M&>XF.TB= F^ +",Z!)X\^"NH#7<&3\$1<)NDV;F)H3N^!DGI3EEDYS#D\><G
MI'M!+T+\N0KV81RF&9YS[&Q&V\OBY,4.<T8;Y3].8H%ORN:[M\G^ QTR^)7G
M5!9LC:5A4!Y.*XBLR&UAA]WN\)^/<6&XKS>,*6>+^"=GBI8T,$HQHV^%RUC1
M[,$UO$X0?+@OFG<<=4\)EJNH-M(8V%1-M05P<XQA1J4X SA,UAUMGD':,IC%
M'N=Q!O-!N(X)*OC\.>8R\KJJ:3LIKS;"]+4\<[M)2NZHI>6WL"=I]K?3S,^N
MHYTRREP9&\>@I!*4,\%@,G;#9J3"W1QC3L2(#"2ZV!',LF=/*NY&XPB,9L]0
MZ3'6U^WAC\K841'6]L4?=>;)_<F&>.1@66.UN<^(\N_?070$3XAA=^Y$(,<@
MSO\@??C]>^*,@VQPFA1WTR!:H#V%=IL780KU=0M9D!$S^90?[DZ_"N'.ZZPG
MP'DW7X5W]1:[T65LU/Z8TU]HG0X@GX/4J'C#[C&K4I$H]7CMBKZZ\&[Y ATY
MPA61? ?[0P(]>"K:?CPD$"$7%SFE_JF6'K<*_I6G15%OWP#L:/7*(@)TZY69
M,Q9/M$33AUX\1,6HUZM<%IA>NGN(DN]V"4K<_ $!]@*3([*Q@YO3EQ3WN3B?
M9BL_"X^<CMQH-_DA^8@[8A/AVVIM\PK2#(8^6I.R]4WSA]K(%P##!#<"P4U-
MP!TH_GON&77_PR=^C%>T[O>;#?"IZ2#%D_6F/GH=7P67,]2_CN%PYC:6@.OX
MS<.>B49KG'-?''?R3\SS(F,]'L+8B_W6>CB2C'4=BZWV"<S"_Y"/K#?MLG5G
M?!DJZ]HE IKF Q"0- 72MVE-<$OO?P#HARD^,QVA@[4[#/=K2=OLZ A1K]MA
M;SL/@AN/Z$I['"IIZ@^V9T==N;/.#@'2).(]0:8'#D_CEHQH,E*#Y<ECYYFF
MPN]L^KPG*Q]M1 B8W>_<H8BU,HBZ8=W>AM*62ZNE'Z/.RO;6W/VH4+0<:B@Z
M9<^DEI9C>SMK?5K.8YKF^)Y,XMFLF@&[3@<I-L M7+SH8DM19>Q?)DF 6LID
M2[IVVV2>2?%7VX\;W;2H.@O63X>_S8T(I7RLS@UJ;[DS=7Z>&W6*)HA%O7^+
M%C]97ZH\E.PH6TY?*#%MQTF7$/?[0Y2< "AM'=J%OS]-V]2E,@>CT>,E@DRC
MTS35<:*!=(G4B*$WR#!M/:1(PF\$H7_ZJXV15W4TN_%,V1<8;!9?CVY1T6@,
M,7K7P_C^!<JE$2,"88S8@P3OJ!0=XDOF:@0D(W=42DA.MDT<<MP0<N*0]@)S
M36$%@3$J8H)))J]A$06XJ/B(Y]G&A!R_NQP3TEY@KK2+$1RA(L08;([I>L=^
MZ+S8]W7&"2 3W.&B+/$">^X8DJK:%LW2?5\!S_G? % XW H9SG#?"V4X?=X0
MET.P7>P4<G,GF.Q#(.$FI])<:JI%B#5\WI(8U>=8A(J<YUH21ZF7680\S3$M
MB2IEJD6(=9S,BMNNFF<12CQWL21VG%=8A*BJ#UA^:55>J_F0D_'B=D\ZB5DF
M]8NS-Y:E2%0#K"M,N%1S([,.@_@""G/@#7NQX:FHX,JS4J5K#2K+N&VH4/B%
M.+]!L#HB'MZ"YWS_@:OH[L(HQQ46&-ITG6=IYL78ZJ&YU:FO8+W@4F[B3$[]
M4"1:;SISD3$9^G97A?6D1FMOJ[[%+G1EF%L>;8FWV84^FW%5UIKQ#HM%_?D.
MT$OOCO-/Q?VL:;B-L9/A;*F4"JY% I]VUVDSIEX^?_6^/R$M#X9>1&ZVSP^'
MJ!XLMEUL2R/Z@+LCH07%]R1:7I+KS$6U8B[B \^:9AZA%K?PT6@.MDZTO:+_
M^7:1;S1WV$74T9Y:)->8KFK&]F>.)_T:G9%RJF@W;E"]9%>@OR- H(Z#NC=:
M7!ZB6@0ZFG$I)$O7W&1/L0^1DDW54"DFV7 [^)7,1X^&ZWJ]=8*ZKH,V8_P(
M[NI^YXNHOD^S<(_)L(KCW(OX60(6R7!\7&;@<WC$.G3G0FN:../,J&-=.M+Y
M#<)L%_5#4X?9;,_VQ.JA">-:H[U1Z(&.!.I%%;.ER$.2P[Z%C>,<OW)4:!VJ
M@DDV(B,O^54QEGZS(V21[+IXY4L=(0:_ V._=[F$>B'1=2%/WN80^H7XUH0]
M>9FT%5$^Q?_SX:6@^/G__A[A\W?O< CC38)_*G^(XZ2(*I+?\$\@(DW0_D\8
ME%%?XFTJ$G] \)QDC_$Q"7UL@<3>'I&<_;Q8$DSU\._[)$:607$KSCOZ_3?_
M)\T_D&&1Y?CKR)+,#]70\N E?Q](K<$[>5$88]\^.EEB9)[@?(A__":#N)FM
M]Y&2FR/^\9N-%Y'6[V3NAQ?A;+%__,:'(*BR\N@XDNC!*SCDT-_ACMDPV4)O
MO\JW>8J$3_*_ ";K&+SAWOW8?P@.",0/ "^/GL,8/)'?*K)H?65!R2"#O\5_
MI7\/$GQ,7$'+((=EMBJ;F.3?/*+54JH;=0SD08L:4F/M1//BLP1PD\ ]9BH"
M]A>TD=_Q2]_1&743D23&$EVE.6VTL^K1P)@7NX6#^FV"N-,C*;S/^&* _0%D
M+3;G#K%S/:EYUK7K#6Y.ER%E#O/JNP>#=O5 *Q)9J&YAO*TNLLF]Z!W _4\-
MB3#NA^L2N**=::9Z"[=QN E]["8K\ML0Z"])%/HA2-^+_+B28!(CZQABF1)O
MA?@%V=]WZ#GT\P_P.""CT>[B*1"C/=%\6,HOE?IIB;0-G(--QCUX/NF=O=IN
M(=CBDK\H+#2:*G<1$1K-1GQ:8=][>EN<'(IGIAGZI3SB:_'["E7J(X=6FD1*
MT>(@[1L_:)WI](=6"OU:P0"N(L"J-Y*6,?#QBW$=SBI[WX'B0JGU9@.P($F_
M>E$.+@==_S<XM.*_>/@\RDYG?T0*X/&B[#,?.X2BH,*C0%0PR!IT _ AV,)>
M!,B%33&(UO=/Z[NG2DUX\N)\@]4%"&!K9RO-L7+#E_>L(;LT04H$"= 5&A76
MC-(*4=&H^C*'<0:VZ-@V?-H\AXCJV+AO+EGG9RM7Y6(7(5F)M6 O/J6K;$\8
MKBQ9/1'-#MM 'W232F&JM9;5'4A]&!Z*&&IU"1M1;4\=8U)NK+6H7A:N=H16
M!\=# HL+RZK:/I$]W><=UI*FV?J!L?R"0=8BM\JS70+#_Y %^H2UAO0+CFR@
M[?L8![E/AN-LB:8@4YYFIZ #V#9'O(AO_4Q;IROUF95H<"N/R_7B#7%'32KK
ML4J]=KVI%HFL44,I9 ]R!]M7)$M_^J^;/_^T@O I"<)-B+9;Y&W/,H?YO([C
M1Y)$P#/O4*KYE@O3#)?272H!V)YHWF@[]R.S:K#V4UDET&):R3F.Q6S( 0&"
M+P>D$X L*\:L-W?@XXR_>)P[.+<Z1.' $3HLB;52='XA#3<*'8&A3ESU"FN5
MC;*7EAQRV &) 4[K-.DSNX?S>5CY4)7ZOYRCCJ$/V*)!>K@[.X3F7'X&V2J*
MDN_X'7+N:-8,2SW0;^BK81"B1:F91]6BWIQ*:_GBMY4;W>!N4EXWQI(/&+F[
MQ<L91>-'[GI\V,;(72\7."',54[T\@U:V5$+/2H(B?I_BT#:HI7%R?=IUF@]
MYT7M5D=E&+#W?'<LC7(W7&PET+"HF(_=P1 O3$A4@Z)J%P>I08Q#U%T]0V:H
M=4I%U<?M(8'= "?UF36+)VE%7"':2\-B[!-%^;,VGB=EC*T54VQ%X#I/K6$N
M*<E0BFQ<+!8$89&S_^*%^.#S#F'F1>UT*H4I5KHHWK\G[[LD3[T8.U;>PA\9
M .=63PU5L^O[[3?72C+0TS_/:9XXN5,]>U1BNI7$(%UJ4_02=$S<__!!2EQ0
M'VF"@W6-[GWEJ2(]WA;#5!R&)^V<B.L)81*%6T)4RJ(SQUBYLD5?*@")LR39
M9.B(ZB2(LD=8B1)3WA0M9IK820ZV$E&&URN[12?N"2D1)'EI=?1"\GY\'%5_
MXV[%:#3VGKX!/X>%5[D(!&&-)LUP]QV1>TWGAYR1 Y]#1 %TJI]>\?I=?%#-
M7RWU,SUY_TK@;9YFR1YMZ.9.H#^SDO'OD>H,#S!,6Z*J^[N5X#?R06CU!=3$
M$?K T8U-L9.O<@3@A+L?84;\ 1>[B?'4F?VO4!;4NY[(:N[MN #?=^C3VUT]
M+LMT%U+'6F,02L3O2KN<'9+AC;"%R252;+MNW%:6#WN E5RKW*-/E,?6\S76
M!F#K*<,/>;1!;R(MO4)\JGSD"*EV%I3\!"LYHB:;R#T>( K.=WL\@ZQFRQ4.
M;JSY9B?BPZ/)MQ[O<$KNL1S?C8(OX; >ZLI8U5[/22S*JN(.J:-F26(5+3)^
MDT"8?"_ZJX+/(5JNHOO5.4B.N+0LX;I<%I'^AA-K[_M&2VVD<\ON!_1/8MDB
MW;M4VHB@#T#Q%<8)T7>ZM2?#"LGR?9*%1]!)]&W];J6<7V7[<R2ZK<-TGUB)
M0G$Y!BZGQ)I%$PGZ,RO1:!8!%.=$V@VD%GKS"=?TP !<#E2JZ2A3;C#,EZS=
MKT7PB>@8DMFTXL%6\E/EK+IK.:S;/UL)/+EY \=VP[AH2XE8[WS*4I_9Y^II
M]#-N+@+UD94+<9$511'2$X)\G^]?L>X2U=(C+K<EQ\'YJE"R4D(AI.W%ULJ<
M:L^MZ%MQ934'O.(<C/7F2UIV<:K.@\<8=T3QTMWE4L[:"M5O^"R++JY^CV,6
M(5)G\?'QO31]87%^9ACP(L'O;/HF&T!,7X^<-&DWI?"J%S4DHQ69A55B-J4^
MF7RJG<#-'E?'S9:\'QFW+C]ME#W!QK7\0!H@VKH09S04?V6DG?(>J]V7I10,
ML\7[*PQQJ#6X6VTR "\M\R['?^]7.$.H1IL%;(=QNC#4'UMY"M:AK3MQBVYO
M./N=YP$6S; 3Y:(*O1V2NR3MD>\]XBPF'_S4,)D49MDHP;_$$'@1SL%X1X9N
M6C2A_(16I$*2,\"9[4ES5I8]!WAY:2>Y$B/5-UGJ[J2E%32W.6^$E=M:YG+,
M C69D=;HY.(2^."(1P9GVQ(F>UK?GTLYO/P$6S:]7(FM="UH,WK58Z;% :W*
M^+ZGV^3W5N]A>B8Y,?W0ID5#D6HIFW_.GF4EZMRNF9V2)-G1HWL/A0Y0VIG:
MO.>MX424/)4EWV#I:5P6RT@X[F5&6LG>E?RYH8NE&R> OZ4#?VLU\#5OBU)X
M2':*E4B7GK6Z:H-3=:H5>]N%N*<^]LC^$V$3E=6\S%9>6EYFK1N_JH9X149,
MC-]6"-=7L,GC2]:3:)0U&K-86:QN'_X*XB"Y*,:=G^LH6=)'\G87QA[2:J(<
M[\%_)O'VOQ/">N]>^+VM&$D.MG('XZR9?-]VKK5_M1;T=F)H%PW6"*,H%?>+
MI/X.[+W_]_\!4$L#!!0    ( $.+!EG\)TLUT0<  *TO   /    86ER9RUE
M>#,Q7S$N:'1M[5IK;]M&%OW>7S';H(4#B++DQ,&NI V@>A54B\).;:5(/X[(
M2VEJDL/.#/787]]SAZ0DRW*B)*ZSEA,@MDG>N<]S'T-.;^K2Y/5WHC<E&>&W
MZ#GE$GH]>!^\:#?;O>/R$@3'%45OK*.EL&Z9T+^_3Z69J*PC9.'T/U2::^-D
MYKJYC"*533KBG_FB^[UG&ZE9O:AZ&CB==UK-4Y5U4Y4%4U*3J:MNC/4BL.I_
MS&.L340FP!UPZN4UDUAGCDFHTV[EKELJ4K+L^F>Q3%6R[(Q42E:<TUQ<ZE1F
M->%8.Z=3T#I:N$ F:I)U$HH=R^#EM9CY5#D*;"Y#ZN2&@KF1>7=+]@?%0=9<
M16[:B94+0E!2QD)^?-9^U>KVCGGMZ]YQCO_PD/?4'B:^^IC4NXTT[.5M*T.=
M:--YUO+_NI]J<]\HF=QIZ6 Q56/E1 FGE;U[6OK9P=QIY_U:=BN&?W_T0D@F
M\Y#A.QM<CH9OAF?]T?#B7%R\$6\OA^=GP[?]7\3@_>#LW6CXVP"W03&X?,#P
M/KPCWKZ[O'K7/Q^)T86X&IQY=[QHG;!+1C\/Q%7_\J?^^> JN'C_R^!WT3\;
M\9.35NODJWOET:-^5V'^.T,];(C_RE"/Q55!64.$9)R*E\)-I>L\8#3OHQ\]
M^5BVFV(HIG)&PM!,T9PBQ%%9\6<A#7(E6>(^CRU"9^*--JEHMX)?A8Y%7YF)
M5 C_, N;A^VCDZ;X25IX!CY(E^(ZT_.$H@DU2E=5#HHT],^T$[P0GA$R6XHB
M<Z8@*"D=I>#&GI,BQ15+%+$,<<L(G6("<+JDNT6044C62K-DDE1>$^1N\+2X
M%T$9B$RXJ[,,)@B5"8L49!F60Q.,B0*.":?"%OQCO7Y.ABHF;$"J;()A%M.E
MF"LWA8$VI] KR'QSJ*8CF#G#LDB,EYMN.&PDO/@ $DC$*H.O.6QKWS8  Y#C
ML=EXKK(8N22= A^5A4D1@2?BM^'(!F*O./^@M67D,**29 V-*BIV2S24C10S
M;C!%D8  >- (FA=GO3ZAM%,1)WIN:[ 8FBCK#'8G0O+-4F]HV=B(N:V5N:7M
M88?]95.,;OCHQV>+DU;[7UU;1;9J@9PQ.HX5+H_L<^_!H9"&?*S@>S5.B'TJ
M"  9)\I.>063I2@87#3X.E(V3+0ML(Y5,#HI@Y8;'5*$VU8<(481(>AE( :+
M<"JS"8D^LO2R2$#1?B&#]ND1E5JT3Z/RJKQ4/ 9E)5B8O^!4WL!0&5/696]!
M\0U!,02QG=O( @7WFL^8$AX16F03+K.0#)_Y2OOQ@#:X"82RL/LOX6H\IK6D
MLK[KPH !LG6FK*\!H*+,\^'Q;%T]-BN0H43Z:%<%?AVQ1E6=^*%")8$N5B<J
MDLXK.K8J4M(H-D"5;<C7Q(PY%99;@\\/Z_N(KQC:$A1RJ%"\*,>0H<(BD5SH
M8)978MUBL*)L6)M]%G^-B0D1*:RGZ+!KSW@;37LG[RU0[9_V>V,+>)RIB"$C
MK<XDUS=I 3>>.1A'TD1U3($R)<<J46[)36>76$:X#[^/; G.&Z0;,XLOHXO*
MH+PP.9!E?9,,0VTBKX"?7B:4H?<E !B>4,[(91),9B6(@'"5HY(=-HS"IJ"9
M3 J?N>QCBF-,#VH&[]@=4\"ZP^U1BLK+W9.!APT6HHS8<OX8Z\+=K<(^Q5*N
MJ(F'J_CC8ZD8UV.;SX3*%="GR\P/.O)1L_;I[=CP%J7JZ/[);@1\0MW@'J/#
ML# <@HV"OHMMJJW# WXI V8V!*=JURF.[EH3 TW(Z2WR2G=,M>0W6+SWRHJ5
M9L]+O:;2KOH?5P.//HI\F?0NJ4K8$MNH:TJJW=86?>/+O73XD#O]DGG9OXQ8
M(;:QSEPN))N862<Q!_T3VN*M,6>MGL2LX[2QJU;D;X!GBAVZ(_I0H1QK=#LF
MB!0T]%R. "W4)<MU#[]YY*HS@OXL% SPX"^RT._-GA_\8,P[6!XJ%(+..P+>
M6X2*$**JC:P&U#G):^X+95/WG<&/(_YU2;V;_:3 5[-DN1_;D>LRPD)+JU2_
M&R35%(,U"#2&C4;9G2Q:DRU2>!S.\=9497;GQO_PRP!&5VXPL4$2->!]\KF/
M^/F73%6@&V5Q5ME,)S/B"IW)2?6NS%3E@M(\T4O"T_E4EP5"WH 1PGX_':SY
MU0/R &^PG9_3;WRB#EB5#G^F[E8?E%D#_KX,A9D\2.02<QO8+[#C*D6U6ZUF
MZX=Z 9"4R-Q2QY;#.]66^T^-)6__K1L*F%HZ;R7*;.K4ZRLB4$4KGWAQ+R$+
MSCIVT1T$)Q\CV.* /\RV0M5G=N_F.0P+QJ@5UQW_,^ ;NW/DMLXS;G$84JI0
ME^'_&I_H]\WPO?#T'\2U(_K%I$ ??M40)ZV3ES>^TN_P_?^-)[[0]AUG$O:V
M=G5*H]2T>9I#*WZ3\N@1<6R/-[X&[O+.TTBSKPBN;]8^IH3YEBQ/#3Y/R]I[
M39:W!IN^B*IO1V=31;$8+"@L^+6AN"C?'7S+HZ>!K*=E[;WFT5'UG0-[75JE
M3_7J[?F'\@>_>?OW* YS??;AXOH =IA(:_D ]H2"3$=4KX%>&^>SXX060?F.
M3^F,]ZU%FG4C97/LD3O\M#[@O3'O[SK%_0<V42I>UE+\TH"RZ,D>[UX?\IZN
MBK8/1EFB9>S(=&0RETOKJW+OF _;O_ZN=^R/Z?\%4$L#!!0    ( $.+!EEI
M-7Q/HP<  *\M   /    86ER9RUE>#,Q7S(N:'1M[5I;;]M&%G[OKYA-L(4#
MB++DQ$&7<@.H7AD5T+53VP6ZCR/R4)SUD,/.#"6KOWZ_,Z0NMI5$WACNVDX>
M8I%SYER_<QF21[DO](?OQ%%.,L5?<>25U_1A]'OTMM\].-IO+D&PWU(<34RZ
M$,XO-/WXJI!VJLI8R-J;OZFB,M;+T@\JF::JG,;BA^IZ\"JP3=5LM4F544YJ
MFONXUSU4)2B.]K$>Z*HE569*'SGU)\7]7N4'C:3(FRI^C\NPFLE"Z45\J0IR
MXI3FXMP4LER23HSWIHA[ T_7/I):3<O8LE26Q_N7DA*CC8U?]\*_P3Q7GB)7
MR83BRE(TM[(:W%)F4_K0*JD';--<I3Z/,^6C!.M4LJ#1=:XFRHO&F;P/ME:[
M6MI[4#L?UK+O7_??]P;WM^DKHI= ,MG'#-_QZ/QR?#(^'EZ.ST[%V8GX>#X^
M/1Y_'/XB3L:G0_S$K[,34(S.'S&\C^^(C[^=7_PV/+T4EV?B8G0<W/&V=\ N
MN?QY)"Z&YS\-3T<7T=GOOXS^+8;'E[QRT.L])NBW>^7)HUY3]J@E:]P1_U))
M+DF+D9[(/SLB(>M5MA ^ESY^Q(!NL_Q;..]I8K\KQB*7,Q*69HKFE"*.RHD_
M:FF1+GJ!^]RWA2G%B;&%Z/>B7X7)Q%#9J51E1XS+I/N\?730%3])!\_ !\5"
M7)5FKBF=4J=Q5>N@U$#_TGC!&^$9(<N%J$MO:X*2TE,!;NPY*0I<L421R02W
MK# %A@!O&KH[!"4EY)RT"R8IY!5![@9/AWLIE(%(S8V=93!!HFQ2%R KL1V:
MI&0%')/DPM7\WWK_G"RU3-B 0CF-:0XCFI@KG\- 5U$2%&2^%50S*<R<85LJ
M)HM--SQO)+S]#!)(9*J$KSEL:]]V  .08]ENK*LR0RY)K\!'E8FN4_!$_#8<
MV4'L%><?M':,'$:4UFMHM%%QMT1#V50QXPY3U!H$P(-!T((X%_1)I,M%ILW<
M+<%B::J<MQC/A>2;C=[0LK,1<[=4YHZVSSOL[[KB\H:/OG]]?=#K_V/@VLBV
M+9 SQF29PN6>>Q,\.!;24H@5?*\FFMBG@@"0B58NYQU,5J!@<-'@ZU2Y1!M7
M8Q^K8(UN@E99DU"*VT[L(48I(>A-($;7:,CEE,0067I>:U#TW\JH?[A'C1;]
MP[2Y:BX53T)E Q;F+SB5-S#4Q)1UV5E0=D-0!D%LYVUD@8)[S?\P)3PAM,@N
M7.8@&3X+E?;+ >UP$TAD[7;?PM5X0FM)37TWM04#9.M,N5 #0$5EX,/CV;IZ
M;%8@2UJ&:+<%?AVQ3EN=>%&ADD 79[1*I0^*3IQ*E;2*#5!-&PHUL61.M>/6
M$/+#A3X2*H9Q!(4\*A1OJC!DJ*36D@L=S I*K%L,=C0-:[//XM>$F!"1PGY*
MGW?MF=Q&T\[)>P=4NZ?]SM@"'F<J9<A(9TK)]4TZP(UG#L:1M.DRID"9DA.E
ME5]PT]DFEA$>PA\BVX#S!NG&S!+*Z'5K4%7;"LARH4DFB;%I4"!,+U,JT?LT
M (85JABY3(+)K $1$*XJ5++G#:.D*V@F=1TREWU,68;I0<W@';=E"EAWN!U*
M47.Y?3((L,%&E!'7S!\34_M/J[!+L90K:N+A*OOR6"HFR[$M9$+K"N@S8.;/
M.O)I=^G3N['A(TK;T</*=@3<HVYPCS%)4EL.P49!W\:V,,YC@9_+@)E+P*D]
M=8J]3^W)@";D]"WR5G=,M10.6'SV*NN59F\:O7+I5OV/JT% 'Z6A3 :7M"5L
M@6/4%>GVM'6+OO/U7GK^D#O\FGDY/(Q8(;:SSEPN))N862<Q!_T>;?'.F+-6
M3V+6\<:Z52L*-\"SP G=$WVN4$X,NAT3I H:!BY[@!;JDN.ZA[\\<BTS@OZH
M%0P(X*_+))S-WCS[P9A/L#Q4* 2=3P1\MD@4(41M&UD-J'.25]P7FJ8>.D,8
M1\+CDN5I]EZ!;V?)YCRV)==EBHV.5JG^:9"T4PSV(- 8-CI-=W)H3:XNX'$X
M)UC3EMFM!__G7P8PNG*#R2R2J /O4\A]Q"\\9&H#W6F*LRIG1L^(*W0II^VS
M,MN6"RHJ;1:$U7ENF@(A;\ (87^8#M;]RP/R"$^P?9C3;[RCC5B5F-_3#B8
M--F@ ;^DA<),'FFYP-P&]M<X<36B^KU>M_?WY08@2<O*4>R:X9V6EH>WC0WO
M\+(7"MBE=#Y*--D4+_>W1*!*5SX)XMY!%K\+]NDG" Z^1'"+ W[8VPJU;YZ#
MF[>&8@YKHPD*R%4<_H_XQA:=9]SB,*2TH6["S](?^Y7(KAF^$Y[^B;C&8EA/
M:_3A]QUQT#MXMX&NK;[_O_'$5]I^)Y?N86V;(TM-NX<5M.(G*4\>$?MN_^8+
MP6T.>AF9]A?BZYNU3REGON7+"T30R[+V0?/E.%>4B9/5N'[6/#,(1ZP+2BQY
M:1??\NAE(.ME6?N@>;37ONW@#TM6R=0^@'OSN?S!7SX$/HE/NNZ(N\_1F+]#
M3K1T[L=7E9Q25)J4EGN@U\9GRIFFZZAYTJ=,R:?7NB@'J7(53LHQKP[N?,G\
M'YR:5+98,@Q4$97IZA/G]8?.^:I>!3V:0B0S3S:6>BX7+A2DHWW^W/K#=T?[
MX4/M_P)02P,$%     @ 0XL&63ACP.7V!   [2,   \   !A:7)G+65X,S)?
M,2YH=&WM6FUOVS80_MY?<6NQ(@$L6W::H)7< I[KHBF&N(M=H/M(2R>+*T6J
M)!7;^_4[4I;KO&Q-UR594@=&;(G'>WGN'HHBV<]M(5X]@GZ.+*5OZ%MN!;X:
M?0P.>NUNOU-?DD!G+=&?J70%QJX$OGQ<,#WG,@)66?43+TJE+9,V+EF:<CF/
MX'FYC!][M2D_VW3B,LB1SW,;A>U#+DFBWZ%V+U<V4IF2-C#\3XRZ86GCVE)@
M51D=T:5OS5C!Q2J:\@(-G. "3E7!9",Z4]:J(@ICBTL;,,'G,M+.JK/G^C>6
M$B64CIZ$_B]>Y-QB8$J68%1J#!::E?$%9[:M#S1G(G8Q+7AJ\RCC-DBH':4S
M-%KF?,8MU&"Z?A1K>0N1)F0?]6V&.AR=3H_?' \'T^/Q";S_<#KY,#B9PG0,
MW>?PH3UI#]LP&0U]:_?@,&Q].Q[A_4%C,('!Z_'[Z>CU-A0/.N0FN2_"(QB_
M@>G;$4P&I[\,3D:38/SQU]'O,!A.74LO#'MWCL1_&_O3)]VC,+Y5A@O,;G4H
M.Y9 %Q(3RY6$!;<YV!SA<\4TP2M6H-&-_Z R&' ]9URVX%@F;=AS8D^?+'MA
M-XF'JBB97-67:;P/I.N-T@5TP^ WR)3>5@HH4TSA7241#L(6%4[O60N8@8P+
MNK_Q88))I;GE!!V3*8R62<[D'(&,%=P8YR]]G&3*+$*.&LG+<WZ=>N<W;I'K
M+7C'$C6#2844R7N-AJ>$A+<PS#EF9(?L6GZ&,,XRGI"_I-4I70?9 KIG>48_
MRDJ;BAZ-8-7V<+@&TP^'+BZ6JM)29-OBC9"CU5K_A.D9DVB"\5+@"@:)1]W1
MJD7MS+9<OV(%GZ1:$%!SC!YT9>YU]V%*L-0YA*P25(T)Y4"XBMA4B<;/%==8
M4"?C\/J"_AZC.M30/=Q+]^L\E-0W83.!K0WF7VIL4U]KX+LO#NJR9(4OV-C5
MR,-&O%<CSB4QMF >1M=*I*?JY377FG0P[D8',FH<\BW7S(0 ZH;.".7%E)0*
MT_*],BZ93-Q]4IARK]I1CJ0J42=.E:B]37.!<.T[!_T6GBK6E>7Y"7C@7(G<
M)#R>*9VB]AZX&3@Y[,0#P5:JLJ1^2>59F^J&83O\N>E U2)8:3 R6#)"%YO(
M_92YUNUG\N2 ;JR?<4.S6\'M*FKZKX5(*MU@XLT](UMNHF_3OQ'H?4W@@@;Z
MH2\ZM'ZM\# O*+!@II%]BOS_P-VXF@>7?3YS W?"Q#K5=?J=]9N<J'P/BZ]5
M3Z\IKQ$,JGEE+!S5S].MZKH2^PM(4(!W <-W!GZ)2-<)=9WT-4$:3]N')7FE
M!$_O?3ET3&=KCG,5.C\&Q^ZBN'X\'MUWMNR8LF/*CBG7B?U:[\H[$NU(M"/1
M/[QBEYK3>W!)+\*XX8ZJN;-_7?+L"+,CS/^8,#<6[8X+.R[LN'">"_3ME@)O
M?+OMCI9%KQ%2[_XLL+O%]4QIG"LNY^MM)"I3OQK.#<S0W<XJ+;G),77K4>C6
MV+^ZR^1GY*1 *MLH\5MIS$#)ZLV[K:5[I?VN!C1KPI!RDPAE*DT_55*YK91_
ML>9^IZ5UR=RW%)D[Q9((9LS+QR6;8R!5BDT?\FOKD$LF<!FD7-?8N^7QJI Q
MX5<*MHI<:WSI',P?E7&[A8U"+Q6@3#<'9+X<D\DWCS7O1_U 8YE%'3&Q8"OC
MGV']CCNL\^I1O^./^?P%4$L#!!0    ( $.+!EENEV8\"P4  '<D   /
M86ER9RUE>#,R7S(N:'1M[5IM;]LV$/[>7W%+L2(!+%MVFJ"5W )>ZF 9MKB+
M7:#[2$LGBRM%JB15V_WU.U*6XR3=FKXY2^O B"7S>"_/W2.*+_W<%N+Y ^CG
MR%+ZAK[E5N#SX>O@L-?N]3OU+0ET5A+]J4J78.Q2X+.]@ND9EQ&PRJJ?>%$J
M;9FT<<G2E,M9!$_*1;SGU:;\W;H3ET&.?);;*&P?<4D2_0ZU>[FRD<J4M('A
M[S'JAJ6-:TN!565T3+>^-6,%%\MHP@LT<(YSN% %DXWH5%FKBBB,+2YLP 2?
MR4@[J\Z>Z]]82I10.GH8^K]XGG.+@2E9@E&I,9AK5L;7G-FT/M"<B=C%-.>I
MS:.,VR"A=I3.T'"1\RFW4(/I^E&LY18B3<@^ZFV&>C*\F)R=GIT,)F>C<WCY
MZF+\:G ^@<D(ND_@57O</FG#>'CB6[N'1V'KT_$([P\:@S$,7HQ>3H8O-J&X
M@Y"!I\_V<&'4XFEXG&1JBQ@TV6ZBWI9="A1&IS#Y=0CCP<4O@_/A.!B]_GWX
M%PQ.)JZE%X:?P<:O7'U?-^9'#[O'8;S51XS ;*O/TC,)=",QL5Q)F'.;@\T1
MWE9,$[QB"1K=  0J@P'7,\9E"\YDTH9])_;HX:(7=I/X1!4ED\OZ-HT/@'2=
M*EU -PS^A$SI3:6 ,L44?JLDPF'8HL+I/6X!,Y!Q0;^O?1AC4FEN.4''9 K#
M19(S.4,@8P4WQOE+'R>9,HN0HT;R\HI?%][YM5OD>@O^X*0'!0S%E+UOP4G.
M,8-3+IE,""@891E/R$EGDCS0:)E>NO"=WE6<+2 )RS.Z*"MM*AJ>P:K-1_(*
M3_](=J&Q5)66@ML4;X0<LU;ZQTQ/F403C!8"ES!(//".62UJ9[;E^A5+>"/5
MG+":8?1=%^=^]P F!$N=1L@J00694 Z$*XIUH6A\6W&-!74R#J]+]/<9E:*&
M[M%^>E#GH:2^"9L*;*TQORRS=8FM@.\^/:PKDQ6^9F-7%=\WXKT:<2Z)M 7S
M,+I6XCU5+Z_IUJ2#<?> (*/&(=]RS4P(H&[HC%!>3$FI,"W?*UM3C!2FW*MV
M)".I2M2)4R5J;]-<(US[SD'?PL!B75E>G00$SI7(303BJ=(I:N^!FP60PTX\
M$&RI*DOJ%U2>M:EN&+;#GYL.5"V"E08C@R4C=+&)W+^VU[K];((<T(WU=]S0
M&[;@=ADU_5="))6N,?'F'I,M-]FPZ;\(]#XF<$T#7>CK#JVF-A[F.0463#6R
M-Y'_'[@?/LR#FSZ_<P_NA(E5JNOT.^O?\EWE2UA\JWIZ07F-8%#-*F/AN!Y2
M-ZKK@]A?0X("O L8OC#P&T2Z3:BKI*\(TGC:/BK)*R5X>N_+H6,Z5U]S/@30
MCT&SNZBO'X]*]YTP.[+LR+(CRVW7)&\S8]Z1:$>B'8G^8Z)=:D[T*8D_EQ-C
M53/IX+;DV1%F1YC_,6&^6;0[+NRXL./"52[0MUL0_.;[;G>T.'J+D'KW9YG=
M+;%G2N-,<3E;;291F?HU<6Y@BN[GK-*2FQQ3MRJ%;J7]HWM-_AV<%$AE&R5^
M3XT9*%F]B[>Q@*^TW]N 9F484FX2H4REZ5(EE=M0^8R5]SLMK1OF/J7(W'F:
M1#!CGNV5;(:!5"DV?<BOC>,VF<!%D')=8^\6R:M"QH1?*=@R<JWQC1,Y?U?&
M[1DV"KU4@#)=']6Y/+"3KX<U[T<]H+',HHZ8F+.E\6-8O^..#3U_T._X T?_
M %!+ 0(4 Q0    ( $.+!EF(.,^]9L(! #X&'P 1              "  0
M  !A:7)G+3(P,C0P-C,P+FAT;5!+ 0(4 Q0    ( $.+!EE0IX'U>5$! - T
M%  1              "  97" 0!A:7)G+3(P,C0P-C,P+GAS9%!+ 0(4 Q0
M   ( $.+!EG\)TLUT0<  *TO   /              "  3T4 P!A:7)G+65X
M,S%?,2YH=&U02P$"% ,4    " !#BP99:35\3Z,'  "O+0  #P
M    @ $[' , 86ER9RUE>#,Q7S(N:'1M4$L! A0#%     @ 0XL&63ACP.7V
M!   [2,   \              ( !"R0# &%I<F<M97@S,E\Q+FAT;5!+ 0(4
M Q0    ( $.+!EENEV8\"P4  '<D   /              "  2XI P!A:7)G
A+65X,S)?,BYH=&U02P4&      8 !@!R 0  9BX#

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>airg-20240630_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:airg="http://www.airgain.com/20240630"
  xmlns:country="http://xbrl.sec.gov/country/2024"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2024"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2024"
  xmlns:us-gaap="http://fasb.org/us-gaap/2024"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="airg-20240630.xsd" xlink:type="simple"/>
    <context id="C_80d7a7a5-b4a0-4933-a935-ffd720765c6f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_814c6938-137e-44bb-a615-e62384dc5c72">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="C_82204119-297d-48a3-abf7-3e4210eec762">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:ChinaIncludingHongKongAndTaiwanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_85745882-ba3b-4f06-8f7e-1e5fe04752a5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_87ae4f4f-83db-4f98-843d-3a2dc8347ab2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:TwoThousandAndSixteenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_8afd67a6-21bc-4aea-bc88-a028179aff26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:AuthorizedForGrantsUnderTheInducementPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_8ccc0045-47ca-4207-a179-7263b4aabc0b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="C_8cf7e596-9d10-441a-b538-5a80dc9e39c2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="C_8ed3b33d-16c9-4dfa-8951-8386276958f5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:StockOptionsIssuedAndOutstandingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_8ef290ea-e362-4743-a68d-e8f774b80d92">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_8fd77bee-290c-4fa5-99b0-b61204bfb6a4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">airg:PerformanceStockUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_94b0ba2c-32ea-477a-a1ae-b51a9eae7d1f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_95ab88bd-76d4-4fbf-ac09-eed5b64d70d4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_976ca171-b836-4a71-a94e-1b3170ade920">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_97c02c81-358b-4e05-85c1-05997fed85f0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_9a55883d-ffe6-40dd-aa81-0bcaed69b5a3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_a069a180-fbf0-45c0-b825-5adaf8a7d68a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_a08674a3-8240-4564-9b3e-fb444bd12512">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:StockAwardsIssuedAndOutstandingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_a1fabf1a-d67e-45a9-ba4b-8693f38c7f3d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_a2b3b19c-2261-47e7-9722-24a11aa4ce75">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_a2f21e0a-510a-4388-a9a6-cd10cc924858">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">airg:AtTheMarketOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_a52a33fe-2be9-4bc0-aa13-0abcd28fa9b3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:MajorCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_a5df0e59-957c-4aa1-a540-46af7254a00e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_a7de98d0-f87d-4aed-bbbc-55335506faeb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_a8e39d89-3e18-4531-b879-ea90204c0cdf">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_b1218745-a548-435b-8858-f81a78fcd512">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">us-gaap:InventoriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_b52e8f40-b7fc-435c-9aa0-ea34a1f54a31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="C_b7ca1f41-0722-4e27-82aa-b407341774ba">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_b943ea6d-4ffd-4191-bfe3-b662c75b79b7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_bc853caf-d882-4dae-844e-7d1e7ae55dac">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_bcf875af-7903-400f-8262-96e0b47ff190">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_bdc7cb5a-8aaa-45e9-97b3-4749711a0bf9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_c3558740-5177-4303-925a-741d67251b64">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_c39b14e8-88dd-402b-ad71-f085dcba3a41">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:TwoThousandAndSixteenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_c41a6b24-816d-4625-8226-843b7e0b6f08">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:StockAwardsIssuedAndOutstandingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_c4891f8b-64f7-4473-b3f5-a4df34d35fb4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:AtmOfferingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="C_c5947326-06db-4c9a-a516-420565e54d71">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_c7681787-01da-4cfc-9e8a-937ba84d7664">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:ConsumerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_c7b51bbf-4036-496f-b649-0a51a6f2430a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">us-gaap:InventoriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_c7d38e66-fcbc-4f1e-b534-d7212b488dc5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_c895571d-5c20-4fd0-ac84-e70be4798d56">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_c90ea074-812d-49eb-8bc3-ab07e462da2e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_c9ca72ad-7aa1-4859-9947-8646bfb8f97d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_cad2f106-8993-4864-8850-b5761cd56414">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">airg:ConsignedInventoriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_cd66e254-7059-4158-877d-216d4bb66281">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_cd95ca01-4f9d-47aa-9933-babfe3662b3b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">airg:StockOptionsAndRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_cead1641-409f-43be-bccb-5e3221473122">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
        </entity>
        <period>
            <instant>2024-07-31</instant>
        </period>
    </context>
    <context id="C_ced7521a-62cc-45b9-aee4-d4c87166f847">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:ChinaIncludingHongKongAndTaiwanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_cf4fda84-de4f-452f-bd29-8ec8e091841c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_cf65dcfe-458b-4495-b80e-6844ce37ba8b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="C_cfcbd150-1e5f-4bef-b9ad-a94f636581b9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:AutomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_d2b68738-49e7-493a-bad7-b0771bcb17e5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:AutomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_d41a7360-3930-46e7-bcff-eb8f951d01c8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="C_d488db77-a50f-4229-bff3-7b90b7f4ee80">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_d5208580-b31f-4278-96c4-458467a06404">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="C_d756fc16-9565-4ffb-8fb3-907e85f41039">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_d8d82aee-dcf1-4d83-9c15-6283e8e3c2bf">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="C_d959d453-ae1a-48d4-9cc8-a592be22c074">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">airg:PerformanceStockUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_d9e87829-3307-4f50-81a6-612078b9ce93">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_de43bcee-a258-444f-bdd6-df8b22af0192">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:MarketingRelatedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_df7cf5fc-2cfd-443d-8cb6-e015b17b16c3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_e08a265f-a0ae-4dea-b575-c207e3767bff">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:ChinaIncludingHongKongAndTaiwanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_e13ae568-6342-469d-adc8-7054c28ff7e9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:AutomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_e1d45918-415f-4f91-8e24-34e59f2ab891">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_e2ee1d69-1df5-4dbe-ad5e-89d1d5f0cb18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PublicUtilitiesInventoryAxis">airg:ConsignedInventoriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e5aeb583-1e63-4a2c-b261-1d61577d1e04">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:ConsumerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_e62c79c8-aad7-473f-ae37-eb4df80fca2e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_e70a59ac-c0ac-4d2a-aaa3-4d6c25a9fbf7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_ecf301a5-d7cb-454b-ac8c-0d3234eda685">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_ed6acad9-a4a2-4161-824f-b8f4fea4caaa">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_f0092e37-3e8e-4d27-82ba-d12f007de93b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_f18ff514-9b71-47b3-a852-bdc092deb181">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_f35c89b1-4f70-4aed-99aa-b7311ba222b1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_f3d44044-80bd-43bc-a462-ebdd4154a134">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_f46e4734-cb96-4e89-9673-74cc9f95d89a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_f516d4b3-b8d5-4a9f-a16e-97e5765eea44">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_f5c550f5-1153-455f-99ac-1cddcdb6bd95">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:AuthorizedForGrantsUnderTheInducementPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-02-05</instant>
        </period>
    </context>
    <context id="C_f67e1f33-d314-40ee-8261-3043e701723b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_f6818781-2254-43b7-b119-6e8a5d443cb8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="C_f6f6a2be-0017-4a01-a899-30d6bee38a06">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_f8aa5819-5c2b-412b-9071-5040b8b70a35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_fc54f691-20ce-46f0-8746-2c0b4b77f54b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_fc9b5504-33f6-466b-8261-5df11f04d1e0">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_fe2fa791-a70e-47bd-b627-8b3bbf7e331a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:OtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_fe906bb9-5790-4cb8-9fc5-b5569132b0cc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_ffcc8a12-49a2-4919-9b70-70a2a061cdb1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:EnterpriseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_002c4ee5-9ad4-43a9-900c-08812d50ebb4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">airg:StockOptionsAndRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_00c8fc38-b9f5-45ca-8645-9cfe7d739a09">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_022b18f1-b927-4784-a869-b04f4dc6d38b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_033858d2-91ee-4dc8-8a1b-308848505b0a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_04b64740-56af-4312-9a6c-2a8ec8130d7f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:VehiclesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_06163348-6a9b-4911-8496-b909f45a4cea">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">airg:PerformanceStockUnitMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_0640c210-4475-42d6-a3f0-5ce15bb96ccc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_080f94c2-9831-4b0b-a458-2967a24b61c5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_082140e5-b0f6-48a7-ad76-9b55d9594f79">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">airg:CovenantsToNonCompeteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_08ec7d9c-a94b-4c25-9045-375630b633cd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_09a33da6-d065-4b89-8318-235485b3d9cb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_0aeaccfa-63c4-457b-aba4-e58bc0acd805">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:OtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_0bcf9265-2463-4d18-8070-5bbe06eed5df">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_0e194c87-3083-4f0d-8b8b-65e5b32819ce">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_0e69e4a6-67a1-4425-b9cb-60594d2b6d42">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_0eda61ad-97a4-4823-9348-afe087975fc3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:ChinaIncludingHongKongAndTaiwanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_0f730fde-c292-4e50-b2fe-040bc977de0b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:TwoThousandAndSixteenEmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_10985b53-06bb-4478-8d0f-35be935ef4b2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_11b40b49-3fd2-4d9c-82bb-80db1bcb7727">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="C_120b8152-dc6c-4d14-a177-d9b92844dad3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:AtmOfferingsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_1256b3cf-9b7f-4c0d-99b0-e1b9750725d9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:AuthorizedForGrantsUnderTheInducementPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_12a62de7-249e-41b4-89ff-5b260e18ae97">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_14ce5797-d93c-4ac2-ad52-bc40a5d27b94">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_15a0d859-fe84-45c2-8866-74f60844f244">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="C_1952da4a-9508-4358-8ff0-b4d057c1ed14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:EnterpriseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_19b82e51-20c2-4a00-a405-b79138daa225">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_1afdc367-4577-4fdd-99e9-9906a07e083d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_1ba04047-43b5-43b7-9beb-1a23891b8db2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:EnterpriseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_1d19cea9-23c5-4939-b613-fa587083cbf3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:TwoThousandAndSixteenEmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-01-01</endDate>
        </period>
    </context>
    <context id="C_1deee19f-880d-4d52-82fe-016d15dd795a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_1f06fa80-da98-4168-83d9-fd00ba7c309d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">airg:ComputersAndSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_1f7cd16b-5932-40b4-965b-574b1c66ea26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">airg:ComputersAndSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_21144858-ddc6-4b4c-b337-f611fd400ada">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_211b034d-b71f-44aa-b1fd-04af90e0c4cd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerAMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_21cceabb-c989-4e1e-8ae3-1925911976e4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="C_22b78f39-4e0e-4151-bb78-29aef703c3ef">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_23e7b44a-8abe-4f0c-84b9-25b485dcc397">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="C_2a4acd5b-9793-4309-8c82-dc9d1d6a70cd">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="C_2aa10c7a-7d5a-4616-a85e-4aa09e5d2335">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_2fca67c5-3c31-4124-84cd-12c3e7566cd4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_3026f516-70b9-4f50-86eb-9bc1730954df">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_32900feb-cb63-4ffc-983d-11813814d34e">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_340bce37-8b20-46ff-a728-7d31ba68791b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">airg:AtTheMarketOfferingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_341efb3e-fe01-4b72-847e-336c78246d89">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">airg:CovenantsToNonCompeteMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_3425a20e-7c3a-45bd-a497-dee432c9dd9f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_351027b2-5ddc-4739-9065-afa498bca863">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="C_365fcfcb-3555-4411-86f0-1a070d2e4af2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:TwoThousandAndSixteenEmployeeStockPurchasePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_3969066a-c5e9-4ebd-91e6-e40a3ea55879">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_39b91c54-7d09-4705-804a-98be89f600ca">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:MajorCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_3fe87f98-e239-4ec7-b535-be91491d7428">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">airg:StockOptionsAndRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_406fd382-7b26-4270-a36a-e388be8ec9b5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_45ad0116-9b99-4c93-a4f2-6e632d0cb996">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">airg:StockOptionsAndRestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_45c0e743-24dd-4135-8ce6-2450628d38b8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:OtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_46837950-affe-4a34-a6b2-44c87b328126">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_480ad527-3492-4e13-869f-57533d7af10f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:MarketingRelatedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_4b9786ea-df06-424e-a162-533d97031170">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_4bceeb1b-2475-440d-96c9-a90b4a0a066b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:ConsumerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_4cf81107-a033-4b96-bcba-bf43481690eb">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">airg:OtherCountriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_4d093ac2-9a3f-4acc-8923-f34bbd39eec4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">airg:TwoThousandAndSixteenEquityIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-01-01</endDate>
        </period>
    </context>
    <context id="C_4d9465af-3f74-48f7-aa6f-9d372d477df1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_51ee3ed8-956d-47a3-a921-682bf88a5721">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_53019d3e-70fc-43ff-ab6f-65fc83de5b4f">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_54553e49-f718-47c3-a177-7d5ddf9a39e3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:NorthAmericaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_54e3c8fa-7281-4931-af34-fe9db0bcfd04">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_57c6919f-9384-4691-b87d-1f6bfb6c717d">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:StockOptionsIssuedAndOutstandingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="C_57cd6524-ad06-498c-b8d9-9d9107205839">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_58e4f120-1efd-4401-8384-861db10be743">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_5aa804d9-ee90-4144-91af-33137e2cafaf">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_5c05f44a-a76e-43f9-b701-d85ca14f276a">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_5c6e0d5f-b67a-49c0-a9b5-523af891b437">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:CustomerBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="C_5c80f53f-063d-4e96-83c9-b98152853166">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:AutomotiveMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_5d2411ba-6e05-4c71-9171-749f98c1a520">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="C_5f6638eb-5f0e-4049-bf05-f222443db01b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_60436025-54e0-429d-bc1d-601d568d18d5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-06-30</instant>
        </period>
    </context>
    <context id="C_62fa26ce-ebd1-47b7-a482-008a58de099c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_63718222-753e-42aa-9f27-f99e69a1860c">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_647363e2-cd37-4f30-97cc-7379e29198b6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_68147606-c8a9-47ad-9a8d-b28464e6d987">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="C_684ad4fe-7c58-40a3-9a53-a78f3e3f43bc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="C_68b61dde-321a-404c-abd2-3a34e3cb52ac">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_690fe95f-91a2-467c-989b-6dadb97f55d2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_6d971958-9b69-4096-a7d7-ff117638a4f6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">airg:CommonStockAndAdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_6e9f26b0-2196-446e-be4a-4dfee6c01643">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_72836a28-db75-428c-95b6-5401a42a5e14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_748226f9-cdbd-4102-bf2d-ef43cd5a1fff">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_74f5000c-88e6-49bf-96f3-c08519842d35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:ConsumerMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_74f8e6e7-cb0d-4dc0-adb4-e8d589f85fd2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="C_7535d394-21bf-4fbb-a848-92c4572718e4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_789ae37c-e89a-4496-8b41-b98316a1a539">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="C_7c5de85f-fa79-4d2e-b506-b07fd48a8fea">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="C_7e1f151e-598d-40c0-b711-c41d33819d44">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="C_7f383697-5844-4b82-9a4e-b3050028607b">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001272842</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">airg:EnterpriseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <unit id="U_pure">
        <measure>pure</measure>
    </unit>
    <unit id="U_Days">
        <measure>airg:Days</measure>
    </unit>
    <unit id="U_USDollarShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="U_shares">
        <measure>shares</measure>
    </unit>
    <unit id="U_USD">
        <measure>iso4217:USD</measure>
    </unit>
    <dei:CurrentFiscalYearEndDate
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_968fa2b9-c3c3-4825-ba59-83b071deb8a9">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalPeriodFocus
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_0c462bf7-73bc-48f3-bd22-d8b78afefb2a">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_d68775a1-210e-4715-8892-5a2830e8d126">0001272842</dei:EntityCentralIndexKey>
    <dei:AmendmentFlag
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_539167b2-f2f0-4e5d-a8cb-3784be99699a">false</dei:AmendmentFlag>
    <us-gaap:CommitmentsAndContingencies
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      id="F_68bbfecf-86d2-4fa4-a0fb-376f6658b8e0"
      unitRef="U_USD"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      id="F_93140f6c-69c4-4553-926c-b886dda4c55a"
      unitRef="U_USD"
      xsi:nil="true"/>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_6e9f26b0-2196-446e-be4a-4dfee6c01643"
      id="F_937bdce1-8050-4e4e-9c39-8107ba36c542">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <airg:DeferredRevenueRecognitionPeriod
      contextRef="C_94b0ba2c-32ea-477a-a1ae-b51a9eae7d1f"
      id="F_cf1b385b-7ee7-4c17-8624-172917d1a479">P3M</airg:DeferredRevenueRecognitionPeriod>
    <airg:DeferredRevenueRecognitionPeriod
      contextRef="C_3969066a-c5e9-4ebd-91e6-e40a3ea55879"
      id="F_008c8ceb-a1b6-4dd4-80ba-6aa77eae877c">P18M</airg:DeferredRevenueRecognitionPeriod>
    <us-gaap:LeaseExpirationDate1
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_c9121012-3123-46d1-bae5-a4da06668ebe">2025-12-31</us-gaap:LeaseExpirationDate1>
    <us-gaap:LessorOperatingLeaseTermOfContract
      contextRef="C_6e9f26b0-2196-446e-be4a-4dfee6c01643"
      id="F_cc054951-6da5-4631-b3a8-345e431eada7">P1Y</us-gaap:LessorOperatingLeaseTermOfContract>
    <dei:DocumentType
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_53970d28-6a8e-432a-b6e3-b265e99ebe39">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_1a78ab51-e6f5-41fd-a5ac-3bd919ec2eb3">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_d173079d-2ba1-4351-a5ce-b406b2783ea7">2024-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_3c773ae7-4fb5-4b66-84f6-2b42fb0097db">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentTransitionReport
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_46a1b2c0-2525-4092-a37a-4d0522847f6e">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_40a4427c-a7d1-4a9f-bafc-ee2a2b1587ba">001-37851</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_43617b67-6f13-4819-b0bc-c2adbb5122f4">AIRGAIN, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_951fc723-ef06-4edd-b769-e145cc0441a9">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_a703fffc-70b4-4fef-b439-3781742ba368">95-4523882</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_191048fc-7c2a-4d94-bbc9-85bbd0ff364a">3611 Valley Centre Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_0515d3ee-ab81-45f5-ba82-c456dda2ce2a">Suite 150</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_4ff35bc5-6ec9-4e0c-84ff-61cfe69d766d">San Diego</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_32f16617-db29-46ac-9aa1-f6a341d988dc">CA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_b0520c5f-0bc9-4134-809d-7de3ce03efa4">92130</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_99ab5030-e544-4feb-ab90-f6b69c8cd929">760</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_ab1a3f08-ddc7-4d3c-99f8-c0f1e36bba00">579-0200</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_a87a6ad8-4cb4-4dbe-878a-013a7f879ee0">Common stock, par value $0.0001 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_f8182372-98b5-44f8-8441-d44ca1bb5750">AIRG</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_71fcf2fd-279b-46c5-95f9-a5853545d86f">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_74fa3ec4-dd4a-4933-9712-a4ffbaf882ad">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_629a590b-ea3d-4103-b471-43a150b2cffc">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_82bcb44d-c165-402f-8793-920acef98153">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_407a223b-9042-43b7-9174-49f7df4503ce">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_64220ff0-aa9d-4ebc-9708-3927401508f5">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_c10a0abb-d8a8-42e6-b983-9e8d6f3380f9">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="C_cead1641-409f-43be-bccb-5e3221473122"
      decimals="INF"
      id="F_a2567908-8fa0-47e1-b8d4-61f1ef0b1f7a"
      unitRef="U_shares">11301507</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_fe5f5e0c-0e66-4959-b70c-7ed049413fbe"
      unitRef="U_USD">8416000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_97a0ed42-831b-4c7c-af62-c87821d4817e"
      unitRef="U_USD">7881000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_51bb15bf-cb56-42b6-a93a-13d8dba6539b"
      unitRef="U_USD">8642000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_db018e68-a61c-4c59-a07d-69892f65ee77"
      unitRef="U_USD">7375000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_3aa30eb1-582d-48de-a888-12f6e068aec2"
      unitRef="U_USD">3144000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_3c2cfabe-3ab5-44f3-b2fa-81823e018888"
      unitRef="U_USD">2403000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_61d106c6-3695-4c9c-aa8c-f073b9294c62"
      unitRef="U_USD">1109000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_fc63e121-8b09-40b2-a314-f6eeff81b5bf"
      unitRef="U_USD">1422000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_72b12f4f-d734-416a-8a35-d74a8700289a"
      unitRef="U_USD">21311000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_5db82979-af5e-4ece-b191-ccb463f447f1"
      unitRef="U_USD">19081000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_26f6824e-cbf9-47ff-ba9b-25ef0b8952fc"
      unitRef="U_USD">2220000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_44fe05b5-6871-4487-a73d-40b0d9962b74"
      unitRef="U_USD">2507000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_dd9835c6-0518-4166-a71b-0fc092be8d12"
      unitRef="U_USD">1146000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_679a0235-e4d6-4640-92db-efe1916b4df3"
      unitRef="U_USD">1392000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_fd9a7c14-5d3c-41b9-9c93-7425ffe195be"
      unitRef="U_USD">10845000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_ad08f114-54c4-4baa-84bd-fe68dab5b3fb"
      unitRef="U_USD">10845000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_9a3859ad-a08d-4519-b0f1-27e7de59ebe2"
      unitRef="U_USD">6751000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_6f45f087-bb5d-4e6c-b7fb-fa718f513e16"
      unitRef="U_USD">8234000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_41495283-4740-4665-9eba-f431295bba60"
      unitRef="U_USD">164000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_0fc46015-10bf-4ff7-afdc-82638538a5ee"
      unitRef="U_USD">170000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_689f1117-4ebb-4206-9395-498feb1bf5d0"
      unitRef="U_USD">42437000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_b333f862-a31f-4352-8c4d-ad45087e81b1"
      unitRef="U_USD">42229000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_83610707-9f11-4bf8-9bd8-dad7975eba2a"
      unitRef="U_USD">5844000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_1b02ff4c-0e84-4a8b-84db-68070bf6835a"
      unitRef="U_USD">6472000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedBonusesCurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_4e7a5008-0090-4465-a557-0f9d85bf974e"
      unitRef="U_USD">1295000</us-gaap:AccruedBonusesCurrent>
    <us-gaap:AccruedBonusesCurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_6a3665c5-5a40-4b64-ad71-45b83ab96c91"
      unitRef="U_USD">728000</us-gaap:AccruedBonusesCurrent>
    <airg:AccruedLiabilitiesAndOtherLiabilitiesCurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_2244d80a-2ab4-4fb9-a47a-73f1054344cb"
      unitRef="U_USD">2287000</airg:AccruedLiabilitiesAndOtherLiabilitiesCurrent>
    <airg:AccruedLiabilitiesAndOtherLiabilitiesCurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_95d87db6-90f9-48cf-9561-21d743f9fb97"
      unitRef="U_USD">1926000</airg:AccruedLiabilitiesAndOtherLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_344a8970-5dbf-47e1-9d01-f80956822a95"
      unitRef="U_USD">881000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_1b1e517f-1b6b-4f3c-9ecf-b369c2fa4ad1"
      unitRef="U_USD">865000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_384624d2-e279-4d2c-9bc4-83187501e3d5"
      unitRef="U_USD">10307000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_359fcc40-7c64-4a74-8404-e359a1192ef2"
      unitRef="U_USD">9991000</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_e3f592ff-5b2e-41d6-99ab-e1a541238f5b"
      unitRef="U_USD">170000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_33f1b171-9878-4e9e-bec3-cecf0794877c"
      unitRef="U_USD">151000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_fcabebef-ed98-4496-8168-be7cea65e033"
      unitRef="U_USD">370000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_9a62fe5b-b4fb-4946-a442-7b8494cbca5b"
      unitRef="U_USD">674000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:Liabilities
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_c25f933d-ea99-4702-9072-d3730acf4d0c"
      unitRef="U_USD">10847000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_c474daec-6ff1-421f-a664-ed4eab93fa16"
      unitRef="U_USD">10816000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="INF"
      id="F_60cc9404-24b2-460a-b72a-731be408d67b"
      unitRef="U_USDollarShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="INF"
      id="F_7153d168-6945-433f-b8bf-dce25e7d2533"
      unitRef="U_USDollarShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="INF"
      id="F_a04e9131-1466-4586-81e1-8c24046e8186"
      unitRef="U_shares">200000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="INF"
      id="F_13ba28f1-6c64-4cb5-a8fa-4a508cc66bfb"
      unitRef="U_shares">200000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="INF"
      id="F_44f5ea32-4f8e-4cd6-b78f-ce1cefa04b69"
      unitRef="U_shares">11842000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="INF"
      id="F_fe9d2b57-16fe-48df-8b18-d0426bbd8653"
      unitRef="U_shares">11301000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="INF"
      id="F_d92f1522-f979-4393-a7d7-692f8f7e1b17"
      unitRef="U_shares">11010000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="INF"
      id="F_0a54ceb2-143b-4542-b609-766ef3f4e99f"
      unitRef="U_shares">10469000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStocksIncludingAdditionalPaidInCapital
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_06ea53fe-6242-4183-93d3-abfed3ad3505"
      unitRef="U_USD">120444000</us-gaap:CommonStocksIncludingAdditionalPaidInCapital>
    <us-gaap:CommonStocksIncludingAdditionalPaidInCapital
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_464bd4b6-cc3c-4c16-bdf5-81a5fe1770c4"
      unitRef="U_USD">115295000</us-gaap:CommonStocksIncludingAdditionalPaidInCapital>
    <us-gaap:TreasuryStockCommonShares
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="INF"
      id="F_04f3e63d-14af-4169-af76-3235840e6bf0"
      unitRef="U_shares">541000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="INF"
      id="F_dc438274-b621-4e38-ba4a-93692064785f"
      unitRef="U_shares">541000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_20ecef99-6306-468d-9381-09c04bbee614"
      unitRef="U_USD">5364000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_0e07004c-76da-4296-ac7f-4472e3c0ca1a"
      unitRef="U_USD">5364000</us-gaap:TreasuryStockValue>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_0a19c398-d277-4af2-97e8-4968107a7d3e"
      unitRef="U_USD">-83489000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_b90288a3-33a0-4952-9aca-987e3ea3a706"
      unitRef="U_USD">-78521000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_42312b02-8ad3-4704-9b60-5b7e111d4c4e"
      unitRef="U_USD">-1000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_a6cb58d4-cec1-4402-b1d3-e744dfd6388f"
      unitRef="U_USD">3000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_f30ecafc-5144-43e0-8ae0-1abe0deb5111"
      unitRef="U_USD">31590000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_b369cd31-6106-493d-87dc-dd9c0f925859"
      unitRef="U_USD">31413000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_1c4fba6e-b0c5-4066-bf81-b745e2d5ff02"
      unitRef="U_USD">42437000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_02fc102e-a1c0-4bff-8c81-f67d2b9a4216"
      unitRef="U_USD">42229000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_97a2e8fb-d0ca-443c-91cc-5c92fd3c52c3"
      unitRef="U_USD">15184000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_7867d8c7-c6d7-4c34-aa9e-8e1e66900e8d"
      unitRef="U_USD">15830000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_f09ab399-7ad2-48b4-a317-90a6cf9665ea"
      unitRef="U_USD">29415000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_2902f9a4-2816-43da-b5ba-c4faa4a67487"
      unitRef="U_USD">32274000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_8c8f6fac-ade8-48c4-8f14-8b7c00960c7f"
      unitRef="U_USD">9036000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_1892fa74-7b20-4073-8588-9008ac338a53"
      unitRef="U_USD">9551000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_96c8496f-fc8b-4c22-936c-23900a82c4cc"
      unitRef="U_USD">17691000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_7bb1c2be-da5a-4623-9165-d53fc8804d74"
      unitRef="U_USD">19677000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_5c07facb-25b3-4cfc-9d08-cb541a16cfb9"
      unitRef="U_USD">6148000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_1c65a6bf-98f0-47ad-8e50-8287b48c6a63"
      unitRef="U_USD">6279000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_a9526f6d-4b5a-47db-9f5e-ed95d6babe3b"
      unitRef="U_USD">11724000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_87ee858d-7921-49e1-b7e6-bc9ffd0b2594"
      unitRef="U_USD">12597000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_9390c463-a455-4018-ad46-e1ca94a62be9"
      unitRef="U_USD">3116000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_fa9022a8-0642-4c43-94be-b01e50644db5"
      unitRef="U_USD">2590000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_0f92921a-e07f-4cb1-94ce-f3f010d7adb5"
      unitRef="U_USD">6236000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_3ae074ef-443f-4ac1-a12e-ef4bac04cbc7"
      unitRef="U_USD">5039000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_aceb3afd-5ca8-4939-b109-7e66c57d418b"
      unitRef="U_USD">2349000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_3c0ac5ae-be63-4964-87c5-8af8a6dd632f"
      unitRef="U_USD">2305000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_c5eb491d-dd59-4dfb-a0fd-a2215d6d9a2f"
      unitRef="U_USD">4507000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_ccfd7fa0-5b60-4a5c-a445-1b015d3abc84"
      unitRef="U_USD">5171000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_427ba75b-018c-4767-a2f1-b7a88a11f154"
      unitRef="U_USD">3188000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_3cc47ff1-8d94-44a7-8972-95de8f548278"
      unitRef="U_USD">3596000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_77ee7104-d0f2-4a40-9500-09bc4d95d785"
      unitRef="U_USD">6115000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_61bf010c-40cf-4fa1-92c1-efe1fe346130"
      unitRef="U_USD">7389000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_5a62e0ae-dd17-4679-924e-c325537dc257"
      unitRef="U_USD">8653000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_d27b2359-cc03-4871-9f3e-e2d65923a6f6"
      unitRef="U_USD">8491000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_04d4389d-ce6a-4a92-95df-e8bfc39a2985"
      unitRef="U_USD">16858000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_3f4a4623-c35c-4049-8ec1-63f6f205d801"
      unitRef="U_USD">17599000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_6c1c0682-c080-4c7b-89ba-8a93ecd4bd27"
      unitRef="U_USD">-2505000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_7b04d124-3a45-4720-9073-279f47a42897"
      unitRef="U_USD">-2212000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_09ecb756-fe84-452d-93ac-e6add47690c1"
      unitRef="U_USD">-5134000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_7dc83e01-e049-4398-9e5c-b645c51d5d15"
      unitRef="U_USD">-5002000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncome
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_02df0fbe-07b5-4fe6-9fe7-12409de03278"
      unitRef="U_USD">27000</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_6684e65d-c8ef-498e-8fba-9c56c47cd298"
      unitRef="U_USD">16000</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_9acb3337-cfd8-4e90-9e1e-47f2fd9e380c"
      unitRef="U_USD">53000</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_5239b5da-cdbd-4bb8-bb32-0114ebba4f5e"
      unitRef="U_USD">34000</us-gaap:OtherNonoperatingIncome>
    <airg:OtherIncomeExpense
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_b2033cb4-92a0-4e79-9404-1bfd0227522d"
      unitRef="U_USD">-1000</airg:OtherIncomeExpense>
    <airg:OtherIncomeExpense
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_4ce68ad5-2594-400d-87e1-41d3783ac969"
      unitRef="U_USD">-11000</airg:OtherIncomeExpense>
    <airg:OtherIncomeExpense
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_28f83fd1-b904-4342-82ed-248b11a45cd2"
      unitRef="U_USD">7000</airg:OtherIncomeExpense>
    <airg:OtherIncomeExpense
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_6fc62ed1-621c-47d4-b7bf-ddd68e583e79"
      unitRef="U_USD">-15000</airg:OtherIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_206f157e-caea-4422-ac0e-2959d6010da0"
      unitRef="U_USD">26000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_37a50d02-f427-4ee9-8474-818d479589bc"
      unitRef="U_USD">5000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_b46bd52d-b808-47fd-8860-8705f547b188"
      unitRef="U_USD">60000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_4567d3d9-b5dc-4896-b3da-865bdaab0940"
      unitRef="U_USD">19000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_c4d2630d-b8a3-4c0e-9f45-bd3a23391cbd"
      unitRef="U_USD">-2479000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_18216bf2-fd65-4563-a04f-07928ab836b5"
      unitRef="U_USD">-2207000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_8f9377a6-a215-4642-b9b9-5728910ac7a9"
      unitRef="U_USD">-5074000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_b5a9254f-7427-4f3b-836c-7e78dded9b05"
      unitRef="U_USD">-4983000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_3bf79034-d9ca-4d07-b919-e4daf1860179"
      unitRef="U_USD">34000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_f2caddd6-bfa9-425f-b128-ec121d7f4a28"
      unitRef="U_USD">-2000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_aaf69230-e974-47a6-91d2-0fefc18cba9c"
      unitRef="U_USD">-106000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_c0bc2dc0-79dc-4829-beac-ff0d5af6a8bb"
      unitRef="U_USD">80000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_c3987455-fc08-41c8-b96d-808e7711ad1b"
      unitRef="U_USD">-2513000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_ba040781-f6b8-4eb5-b756-5eddf21297f7"
      unitRef="U_USD">-2205000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_af1f9a76-4d72-4c5b-ae2e-0399cc06d2f6"
      unitRef="U_USD">-4968000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_e2f8b1f2-1dbc-4cc6-adc8-9d915c9bb2fb"
      unitRef="U_USD">-5063000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="2"
      id="F_d76f1ffa-af37-41e2-b8eb-65d34d92fb46"
      unitRef="U_USDollarShare">-0.23</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="2"
      id="F_32e34ccb-903d-49c4-908e-188f29ee7651"
      unitRef="U_USDollarShare">-0.21</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="2"
      id="F_2fad4d10-aad0-4551-816b-17cfa8a57a31"
      unitRef="U_USDollarShare">-0.46</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="2"
      id="F_691855a9-ffc2-46dd-88c2-9fa58e0a1571"
      unitRef="U_USDollarShare">-0.49</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="2"
      id="F_170ec652-998a-46b4-9c77-77760604420c"
      unitRef="U_USDollarShare">-0.23</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="2"
      id="F_9f10b55b-5978-45ac-9cbf-4e4d7e62a8ae"
      unitRef="U_USDollarShare">-0.21</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="2"
      id="F_870d0e11-80e3-40d0-aa36-49e082c10ea1"
      unitRef="U_USDollarShare">-0.46</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="2"
      id="F_f185d888-f92b-41a7-8f2a-9608303fd413"
      unitRef="U_USDollarShare">-0.49</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_f4aea72c-36e5-44ab-85fd-cd49dd27ed2b"
      unitRef="U_shares">10938000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_a661ef85-91f7-4991-97a3-fe74905f4c9c"
      unitRef="U_shares">10413000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_98f179fa-4114-40c2-981e-405700371511"
      unitRef="U_shares">10736000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_a375cdbe-5ff3-48b4-abe8-0e9cc91169d4"
      unitRef="U_shares">10340000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_01552f33-ed27-4702-bab5-4ed7df4ed7e5"
      unitRef="U_shares">10938000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_3343220f-9942-4d34-848e-f144c5dc0cc8"
      unitRef="U_shares">10413000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_77c03620-3794-4e98-ab40-8f8d744183ef"
      unitRef="U_shares">10736000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_640895e2-72f7-42a2-8eb6-3e768ac3c4bc"
      unitRef="U_shares">10340000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_332dadbc-80e1-4924-97e8-3109715bc4c9"
      unitRef="U_USD">-2513000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_e0c56efe-8529-42d6-ae5b-dbe572abb334"
      unitRef="U_USD">-2205000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_c167c0c8-4cfb-49a3-af6b-d1342dad2c53"
      unitRef="U_USD">-4968000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_8ce0654e-e908-44cf-8842-8bc07c15b6d6"
      unitRef="U_USD">-5063000</us-gaap:NetIncomeLoss>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_9aca9018-4a12-4ef4-a207-42c01417f30f"
      unitRef="U_USD">-2000</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_f8db373c-8053-4c26-a286-94c25967fe98"
      unitRef="U_USD">0</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_e2f10085-735b-43ca-a5dd-1a96a3360646"
      unitRef="U_USD">-4000</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_82b24b16-4f94-40d6-87df-70ad1fc7d461"
      unitRef="U_USD">0</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_b8ed7fd4-bc9d-481f-aa35-d92f74bd9645"
      unitRef="U_USD">-2515000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_9315e1ca-6fee-4d0d-be38-cfc14374b232"
      unitRef="U_USD">-2205000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_570cf519-bc51-4ecd-88d5-2160b238c460"
      unitRef="U_USD">-4972000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_d042d6b8-4349-494c-8718-1923e687edf1"
      unitRef="U_USD">-5063000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:SharesOutstanding
      contextRef="C_d756fc16-9565-4ffb-8fb3-907e85f41039"
      decimals="-3"
      id="F_ef503734-e863-47e9-980a-066e0b49b928"
      unitRef="U_shares">11010000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_d756fc16-9565-4ffb-8fb3-907e85f41039"
      decimals="-3"
      id="F_0105bf1e-eb27-48df-b4b8-e92144b120eb"
      unitRef="U_USD">115295000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="C_4b9786ea-df06-424e-a162-533d97031170"
      decimals="-3"
      id="F_80d476a9-b6e2-481e-89e1-11e60ae451c8"
      unitRef="U_shares">-541000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_4b9786ea-df06-424e-a162-533d97031170"
      decimals="-3"
      id="F_f577e390-8fb6-4bdf-b3f6-61cf83ebf3eb"
      unitRef="U_USD">-5364000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_0640c210-4475-42d6-a3f0-5ce15bb96ccc"
      decimals="-3"
      id="F_eb2ed57f-fee4-4e7b-8890-0873f7f1a47b"
      unitRef="U_USD">3000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_14ce5797-d93c-4ac2-ad52-bc40a5d27b94"
      decimals="-3"
      id="F_e5b641ad-59cf-4de6-a659-9d3378de76b0"
      unitRef="U_USD">-78521000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_0ef2a3ce-a699-4279-8c9e-a4f36f59ded0"
      unitRef="U_USD">31413000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="C_684ad4fe-7c58-40a3-9a53-a78f3e3f43bc"
      decimals="-3"
      id="F_6f516f16-568d-43bd-88d3-ed5932ba0830"
      unitRef="U_USD">-2455000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72"
      decimals="-3"
      id="F_d23a430a-9b38-462e-bd04-bf45f37b1a3a"
      unitRef="U_USD">-2455000</us-gaap:NetIncomeLoss>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244"
      decimals="-3"
      id="F_1e39f85b-9296-4b22-b922-ef693c99fb9a"
      unitRef="U_USD">1087000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72"
      decimals="-3"
      id="F_0fba31fc-1a3b-4a9b-9f97-0f779092184a"
      unitRef="U_USD">1087000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244"
      decimals="-3"
      id="F_c898fb7e-80da-44b2-b941-85adde614ae0"
      unitRef="U_shares">169000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <airg:Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare
      contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244"
      decimals="-3"
      id="F_56009561-e7c0-4745-992a-117740eb127b"
      unitRef="U_shares">-24000</airg:Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare>
    <airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards
      contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244"
      decimals="-3"
      id="F_07d650c8-b6ef-49d7-afe9-cd347d72f63f"
      unitRef="U_USD">-94000</airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards>
    <airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards
      contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72"
      decimals="-3"
      id="F_e53642fa-5ee8-4ff6-bf05-3860a93a6588"
      unitRef="U_USD">-94000</airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244"
      decimals="-3"
      id="F_c4aac6c0-33fd-4255-bdd1-a033aee492e2"
      unitRef="U_shares">23000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244"
      decimals="-3"
      id="F_a35c73dd-f3cc-4919-a28a-64871caad9a3"
      unitRef="U_USD">76000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72"
      decimals="-3"
      id="F_4a3eb695-f121-4554-8233-b7a226875291"
      unitRef="U_USD">76000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="C_8cf7e596-9d10-441a-b538-5a80dc9e39c2"
      decimals="-3"
      id="F_4a778a12-4999-4ef1-913d-f0eefcdce270"
      unitRef="U_USD">-2000</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72"
      decimals="-3"
      id="F_4710c725-9975-42f4-a4be-ec453d987b1c"
      unitRef="U_USD">-2000</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare
      contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244"
      decimals="-3"
      id="F_c23a443a-c6d2-4b36-adc5-5014f5152dee"
      unitRef="U_shares">124000</airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare>
    <airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue
      contextRef="C_15a0d859-fe84-45c2-8866-74f60844f244"
      decimals="-3"
      id="F_7144fd1c-0338-46e3-9c15-542645a4d5ab"
      unitRef="U_USD">488000</airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue>
    <airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue
      contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72"
      decimals="-3"
      id="F_9ca2e746-ef01-4392-8c1c-a6958584696f"
      unitRef="U_USD">488000</airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue>
    <us-gaap:SharesOutstanding
      contextRef="C_351027b2-5ddc-4739-9065-afa498bca863"
      decimals="-3"
      id="F_065243ff-997f-4cff-af97-0d5dbc54bd53"
      unitRef="U_shares">11302000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_351027b2-5ddc-4739-9065-afa498bca863"
      decimals="-3"
      id="F_4a2b379c-f7d8-4b4a-bf85-b1f99ee73349"
      unitRef="U_USD">116852000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="C_cf65dcfe-458b-4495-b80e-6844ce37ba8b"
      decimals="-3"
      id="F_efe0394e-9fd3-4d53-9b49-cace2a6bcc14"
      unitRef="U_shares">-541000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_8fd77bee-290c-4fa5-99b0-b61204bfb6a4"
      decimals="-3"
      id="F_f3452c52-8574-4be7-89c7-1710d4eaddc1"
      unitRef="U_USD">-5364000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_d5208580-b31f-4278-96c4-458467a06404"
      decimals="-3"
      id="F_c1be7ee0-9caa-44c6-8bf0-94c3a22e4913"
      unitRef="U_USD">1000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_11b40b49-3fd2-4d9c-82bb-80db1bcb7727"
      decimals="-3"
      id="F_c4025a6f-9eb4-43f5-8ba2-0f5974540c36"
      unitRef="U_USD">-80976000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_d41a7360-3930-46e7-bcff-eb8f951d01c8"
      decimals="-3"
      id="F_d8e944fa-39b0-44b1-9cb0-27baeb6fabaf"
      unitRef="U_USD">30513000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="C_f0092e37-3e8e-4d27-82ba-d12f007de93b"
      decimals="-3"
      id="F_49776478-5d80-4c1b-b100-c36f572bd842"
      unitRef="U_USD">-2513000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_3623164b-c1d8-4a83-a15a-96fda5c090f4"
      unitRef="U_USD">-2513000</us-gaap:NetIncomeLoss>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_51ee3ed8-956d-47a3-a921-682bf88a5721"
      decimals="-3"
      id="F_21c8649b-69b1-429d-a4bf-db44367a315f"
      unitRef="U_USD">1049000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_01971203-860d-409f-9e52-c7bd1c38918b"
      unitRef="U_USD">1049000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="C_51ee3ed8-956d-47a3-a921-682bf88a5721"
      decimals="-3"
      id="F_f4a1307d-5b96-4538-b124-149721afead9"
      unitRef="U_shares">27000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <airg:CommonStockIssuedThroughStockOptionsShare
      contextRef="C_51ee3ed8-956d-47a3-a921-682bf88a5721"
      decimals="-3"
      id="F_28be379b-86ef-44b3-be69-3df8b6ae87e1"
      unitRef="U_shares">8000</airg:CommonStockIssuedThroughStockOptionsShare>
    <airg:CommonStockIssuedThroughStockOptions
      contextRef="C_51ee3ed8-956d-47a3-a921-682bf88a5721"
      decimals="-3"
      id="F_21ec3d89-326f-4721-a8e0-0c86cece0652"
      unitRef="U_USD">25000</airg:CommonStockIssuedThroughStockOptions>
    <airg:CommonStockIssuedThroughStockOptions
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_0ebef52d-4dc7-4231-9225-bb21713ebe28"
      unitRef="U_USD">25000</airg:CommonStockIssuedThroughStockOptions>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="C_a069a180-fbf0-45c0-b825-5adaf8a7d68a"
      decimals="-3"
      id="F_02c1da33-be05-4626-96b0-4f0d8a85210e"
      unitRef="U_USD">-2000</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_164f1a39-20ac-4693-886e-0c2ab2dbc948"
      unitRef="U_USD">-2000</us-gaap:TemporaryEquityForeignCurrencyTranslationAdjustments>
    <airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare
      contextRef="C_51ee3ed8-956d-47a3-a921-682bf88a5721"
      decimals="-3"
      id="F_67c0bf24-4ef9-4ba9-b040-baf3415b0d1f"
      unitRef="U_shares">505000</airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsShare>
    <airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue
      contextRef="C_51ee3ed8-956d-47a3-a921-682bf88a5721"
      decimals="-3"
      id="F_0fb5f3f2-f269-48fb-9081-597c9ed766c7"
      unitRef="U_USD">2518000</airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue>
    <airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_1e98ca37-2d82-49e7-83b4-6379ea778350"
      unitRef="U_USD">2518000</airg:CommonStockIssuedInConnectionWithAtTheMarketOfferingsValue>
    <us-gaap:SharesOutstanding
      contextRef="C_6d971958-9b69-4096-a7d7-ff117638a4f6"
      decimals="-3"
      id="F_4dc2901e-1919-44df-a650-8a0491b11228"
      unitRef="U_shares">11842000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_6d971958-9b69-4096-a7d7-ff117638a4f6"
      decimals="-3"
      id="F_7e8dcd04-927f-453f-b0f7-b40607ac7159"
      unitRef="U_USD">120444000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="C_f8aa5819-5c2b-412b-9071-5040b8b70a35"
      decimals="-3"
      id="F_9e6e7344-eee1-4b62-a8be-b15f25ce6566"
      unitRef="U_shares">-541000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_f8aa5819-5c2b-412b-9071-5040b8b70a35"
      decimals="-3"
      id="F_808eabbf-95f2-42b4-b0ea-b0deaa592bff"
      unitRef="U_USD">-5364000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_022b18f1-b927-4784-a869-b04f4dc6d38b"
      decimals="-3"
      id="F_d5d99671-7aad-4e63-a6a1-b2f1f8dade15"
      unitRef="U_USD">-1000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_c7d38e66-fcbc-4f1e-b534-d7212b488dc5"
      decimals="-3"
      id="F_d5482752-716a-4ca5-b573-0def2eb43555"
      unitRef="U_USD">-83489000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_23f9b33a-da64-4881-bb65-1c78b3571ef6"
      unitRef="U_USD">31590000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="C_f6f6a2be-0017-4a01-a899-30d6bee38a06"
      decimals="-3"
      id="F_1b0dfb2f-f8c1-4ef1-b31d-9922cb324121"
      unitRef="U_shares">10767000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_f6f6a2be-0017-4a01-a899-30d6bee38a06"
      decimals="-3"
      id="F_325e1d67-239e-439d-8058-cf823ef52920"
      unitRef="U_USD">111282000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="C_f35c89b1-4f70-4aed-99aa-b7311ba222b1"
      decimals="-3"
      id="F_dfdcbfd4-8109-49d0-82af-d166d2f1c3b5"
      unitRef="U_shares">-541000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_f35c89b1-4f70-4aed-99aa-b7311ba222b1"
      decimals="-3"
      id="F_d1ebae87-e844-4a4c-b4a2-f37b08f08f92"
      unitRef="U_USD">-5364000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_cd66e254-7059-4158-877d-216d4bb66281"
      decimals="-3"
      id="F_dba80eee-a649-4edf-94cc-20bd056d84db"
      unitRef="U_USD">-66093000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_2fca67c5-3c31-4124-84cd-12c3e7566cd4"
      decimals="-3"
      id="F_07e43322-dd24-4de0-bfdc-7ad56b479e35"
      unitRef="U_USD">39825000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="C_2a4acd5b-9793-4309-8c82-dc9d1d6a70cd"
      decimals="-3"
      id="F_233073ad-4554-444a-921a-28ee54543afc"
      unitRef="U_USD">-2858000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_68147606-c8a9-47ad-9a8d-b28464e6d987"
      decimals="-3"
      id="F_b369bc53-0b98-4d26-81c6-6167a740d5cb"
      unitRef="U_USD">-2858000</us-gaap:NetIncomeLoss>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_f6818781-2254-43b7-b119-6e8a5d443cb8"
      decimals="-3"
      id="F_2af509bf-e88d-423c-b586-00ac2d78f280"
      unitRef="U_USD">1874000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_68147606-c8a9-47ad-9a8d-b28464e6d987"
      decimals="-3"
      id="F_328b5e63-07fb-4560-85e6-b6ed65ab17f4"
      unitRef="U_USD">1874000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="C_f6818781-2254-43b7-b119-6e8a5d443cb8"
      decimals="-3"
      id="F_3fcd354e-0dde-4013-83d4-c0b72d3a9d15"
      unitRef="U_shares">278000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <airg:Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare
      contextRef="C_f6818781-2254-43b7-b119-6e8a5d443cb8"
      decimals="-3"
      id="F_f28c000b-d2ee-4190-a992-83a1b265f196"
      unitRef="U_shares">-118000</airg:Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare>
    <airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards
      contextRef="C_f6818781-2254-43b7-b119-6e8a5d443cb8"
      decimals="-3"
      id="F_75b5ccad-36ac-4830-a015-d8b155397dac"
      unitRef="U_USD">-678000</airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards>
    <airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards
      contextRef="C_68147606-c8a9-47ad-9a8d-b28464e6d987"
      decimals="-3"
      id="F_55ad5212-4009-444a-9bc9-30907568da9e"
      unitRef="U_USD">-678000</airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="C_f6818781-2254-43b7-b119-6e8a5d443cb8"
      decimals="-3"
      id="F_48493a20-d9af-459d-a149-5a9663ad6810"
      unitRef="U_shares">22000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="C_f6818781-2254-43b7-b119-6e8a5d443cb8"
      decimals="-3"
      id="F_54d1856a-340c-4cf1-8682-247990ca1a1d"
      unitRef="U_USD">137000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="C_68147606-c8a9-47ad-9a8d-b28464e6d987"
      decimals="-3"
      id="F_117494fd-73ba-4a53-8ade-611c86818ac9"
      unitRef="U_USD">137000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:SharesOutstanding
      contextRef="C_21cceabb-c989-4e1e-8ae3-1925911976e4"
      decimals="-3"
      id="F_7948a3aa-766f-4f8e-b1ac-68a30bb7c967"
      unitRef="U_shares">10949000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_21cceabb-c989-4e1e-8ae3-1925911976e4"
      decimals="-3"
      id="F_c8de1a14-b08c-4570-929c-9ce8b284b7d8"
      unitRef="U_USD">112615000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="C_cf65dcfe-458b-4495-b80e-6844ce37ba8b"
      decimals="-3"
      id="F_c4b904e1-b79d-4c8b-aebe-dc49ef5a3f7d"
      unitRef="U_shares">-541000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_cf65dcfe-458b-4495-b80e-6844ce37ba8b"
      decimals="-3"
      id="F_29370a31-befa-4dc8-9264-9b487db7d740"
      unitRef="U_USD">-5364000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_8ccc0045-47ca-4207-a179-7263b4aabc0b"
      decimals="-3"
      id="F_3a15d04b-5565-4fcf-ac09-882659f028f6"
      unitRef="U_USD">-68951000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_d8d82aee-dcf1-4d83-9c15-6283e8e3c2bf"
      decimals="-3"
      id="F_d1675656-6a9d-4506-bcf7-e03cea1a8310"
      unitRef="U_USD">38300000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="C_df7cf5fc-2cfd-443d-8cb6-e015b17b16c3"
      decimals="-3"
      id="F_ee5317b0-7d09-4596-b091-b6fb958e0777"
      unitRef="U_USD">-2205000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_ee9f1cbb-f375-49cd-8766-d70734287242"
      unitRef="U_USD">-2205000</us-gaap:NetIncomeLoss>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_21144858-ddc6-4b4c-b337-f611fd400ada"
      decimals="-3"
      id="F_58181feb-70fb-4834-8b24-ed1989b3daa0"
      unitRef="U_USD">968000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_1afc0be2-d64a-482c-8859-8984268d203f"
      unitRef="U_USD">968000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="C_21144858-ddc6-4b4c-b337-f611fd400ada"
      decimals="-3"
      id="F_dd7e54ea-713f-4de3-ac8e-88bf0debd69f"
      unitRef="U_shares">5000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <airg:Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare
      contextRef="C_21144858-ddc6-4b4c-b337-f611fd400ada"
      decimals="-3"
      id="F_3ac8c04c-4916-40a7-b116-ed12c12bae1a"
      unitRef="U_shares">-2000</airg:Commonstockwithheldrelatedtonetsharesettlementofequityawardsshare>
    <airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards
      contextRef="C_21144858-ddc6-4b4c-b337-f611fd400ada"
      decimals="-3"
      id="F_6cb10c8a-aabb-4773-80f3-f0e7df569f97"
      unitRef="U_USD">-12000</airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards>
    <airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_48d1fe2d-33b1-4b6f-a6ad-e93f2442951f"
      unitRef="U_USD">-12000</airg:CommonStockWithheldRelatedToNetShareSettlementOfEquityAwards>
    <airg:CommonStockIssuedThroughStockOptionsShare
      contextRef="C_21144858-ddc6-4b4c-b337-f611fd400ada"
      decimals="-3"
      id="F_2ad79b45-a84c-4eff-a567-28042315ad42"
      unitRef="U_shares">12000</airg:CommonStockIssuedThroughStockOptionsShare>
    <airg:CommonStockIssuedThroughStockOptions
      contextRef="C_21144858-ddc6-4b4c-b337-f611fd400ada"
      decimals="-3"
      id="F_aee740fc-0d37-40ea-9fcd-a43ca24c7e5b"
      unitRef="U_USD">28000</airg:CommonStockIssuedThroughStockOptions>
    <airg:CommonStockIssuedThroughStockOptions
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_f90d10bf-6d2b-452b-b0d8-91a51a34ac3a"
      unitRef="U_USD">28000</airg:CommonStockIssuedThroughStockOptions>
    <us-gaap:SharesOutstanding
      contextRef="C_23e7b44a-8abe-4f0c-84b9-25b485dcc397"
      decimals="-3"
      id="F_cb34f51d-253e-4f0d-957f-45cf23d76362"
      unitRef="U_shares">10964000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_23e7b44a-8abe-4f0c-84b9-25b485dcc397"
      decimals="-3"
      id="F_e25b0102-4ccf-40ec-a409-da3050ad4f29"
      unitRef="U_USD">113599000</us-gaap:StockholdersEquity>
    <us-gaap:SharesOutstanding
      contextRef="C_b52e8f40-b7fc-435c-9aa0-ea34a1f54a31"
      decimals="-3"
      id="F_b947bd46-9f0c-4569-866b-0909c388a84c"
      unitRef="U_shares">-541000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="C_b52e8f40-b7fc-435c-9aa0-ea34a1f54a31"
      decimals="-3"
      id="F_890fdc62-68c4-4054-884c-86689c7831c2"
      unitRef="U_USD">-5364000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_60436025-54e0-429d-bc1d-601d568d18d5"
      decimals="-3"
      id="F_b6f4f7a4-f739-4881-a617-fe5c0e7f1788"
      unitRef="U_USD">-71156000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="C_5d2411ba-6e05-4c71-9171-749f98c1a520"
      decimals="-3"
      id="F_031f79a9-c74c-4f5c-b3be-ab7bb3089e8e"
      unitRef="U_USD">37079000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_5239e09c-5078-4908-a510-1a63e4160524"
      unitRef="U_USD">-4968000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_f772c6df-0427-4ca1-acad-9e2163c4f8f7"
      unitRef="U_USD">-5063000</us-gaap:ProfitLoss>
    <us-gaap:Depreciation
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_4560b5cf-7c24-4208-8a46-7e850c1646ed"
      unitRef="U_USD">284000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_e08b112f-8d51-4db3-ae66-378107c0def9"
      unitRef="U_USD">342000</us-gaap:Depreciation>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_998fccd0-0870-4f79-b296-f844349437ea"
      unitRef="U_USD">0</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:GainLossOnSaleOfPropertyPlantEquipment
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_1ff58dc8-21ef-4270-8e55-414ba01f4aa1"
      unitRef="U_USD">-11000</us-gaap:GainLossOnSaleOfPropertyPlantEquipment>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_c8f1bb38-0bc7-4ec0-b71f-a81b2e473c1d"
      unitRef="U_USD">1484000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_d0fa851b-3115-4341-8134-53bca984655e"
      unitRef="U_USD">1485000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ShareBasedCompensation
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_41d5ccc4-df3a-4dfe-9971-e3b61f9677e3"
      unitRef="U_USD">2253000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_a81529ca-f75f-4c4d-8685-1421bad90271"
      unitRef="U_USD">1949000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_6406ba1c-7104-421d-9873-c358112be5e1"
      unitRef="U_USD">19000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_a1ab66f3-b4cd-430a-aadf-85745fd65df6"
      unitRef="U_USD">7000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <airg:AmortizationOfPrepaidAssets
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_46ccac9f-a8af-42c2-91d0-7bca538d9891"
      unitRef="U_USD">132000</airg:AmortizationOfPrepaidAssets>
    <airg:AmortizationOfPrepaidAssets
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_529c23bf-c22e-4eae-9aa8-a0bd63071f83"
      unitRef="U_USD">0</airg:AmortizationOfPrepaidAssets>
    <airg:AccrualOfPropertyAndEquipment
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_9ffc29b5-92f2-4855-9bd0-e9e96939b6bc"
      unitRef="U_USD">22000</airg:AccrualOfPropertyAndEquipment>
    <airg:AccrualOfPropertyAndEquipment
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_920df80b-2fe6-4b81-ab34-ba5de9928ed3"
      unitRef="U_USD">0</airg:AccrualOfPropertyAndEquipment>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_e10b2708-64b1-4bf9-913b-c40bd11ab376"
      unitRef="U_USD">1267000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_b8707945-fb62-4d27-913b-57b7e0d3ebbb"
      unitRef="U_USD">-115000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_77a6416d-a2ab-4b8f-9c2a-3d542010e475"
      unitRef="U_USD">740000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_56422be6-6c45-4540-8645-b9d67074c6d4"
      unitRef="U_USD">571000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_60ba344b-5fca-46b9-8dc5-ce8e94043b3f"
      unitRef="U_USD">-312000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_489063c6-e549-405f-a1c0-07e7c962ab78"
      unitRef="U_USD">-596000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_4b9b379e-5907-49cc-aab1-993145295596"
      unitRef="U_USD">-6000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherCurrentAssets
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_57c2c062-cd07-422f-be64-491d5f1f9ed2"
      unitRef="U_USD">-6000</us-gaap:IncreaseDecreaseInOtherCurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_ecacde22-a749-42f2-b0d9-d5185d5bfbc1"
      unitRef="U_USD">-628000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_966b9b57-267c-4f3c-9803-f92c4c09bab0"
      unitRef="U_USD">-877000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_1e8f34b7-72e4-4520-80e7-8b72ae655802"
      unitRef="U_USD">379000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_ef021635-5591-4e97-ae89-c9f4aadcfdac"
      unitRef="U_USD">-880000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_f585a822-89d3-4d52-8cf2-b832d29849e4"
      unitRef="U_USD">432000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_42bfbc26-1df1-4abe-92f3-585f64f37d63"
      unitRef="U_USD">912000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <airg:IncreaseDecreaseInLeaseLiabilities
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_6a9d1092-a2df-48d6-bf2b-a804c49e34de"
      unitRef="U_USD">-42000</airg:IncreaseDecreaseInLeaseLiabilities>
    <airg:IncreaseDecreaseInLeaseLiabilities
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_937432c9-5058-4ee8-8c1e-9e3582356c94"
      unitRef="U_USD">-36000</airg:IncreaseDecreaseInLeaseLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_e268a768-648a-4fb8-978c-342c6ea8072c"
      unitRef="U_USD">-2322000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_f16665e9-9eb4-40fc-96e3-74eeafe999cc"
      unitRef="U_USD">-2004000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_df635c96-be31-4e17-b62e-d99ebeadaf62"
      unitRef="U_USD">150000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_e90e6de7-c08a-40bb-a24e-1892a5c85bbb"
      unitRef="U_USD">104000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_9e622c1b-d076-4a2a-98d4-7187295eb329"
      unitRef="U_USD">-150000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_b1a1d0c6-407e-4dfa-81e5-4ccd01886a30"
      unitRef="U_USD">-104000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_9b5ea80a-2e62-4752-a9c2-f7cb798a183b"
      unitRef="U_USD">3006000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_2d9282a3-dd86-4fe2-9899-f33965ef3e8c"
      unitRef="U_USD">0</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_0b5c6bd1-cdeb-4743-8132-8c459a3b2d4c"
      unitRef="U_USD">95000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_83931cc6-9203-4f3a-b739-ec482476aa50"
      unitRef="U_USD">690000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_c7604ff1-19ba-45f0-9c56-373a33ccae2c"
      unitRef="U_USD">101000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_77c8b8e7-ad03-41fa-8c3f-baef1fa8cf8d"
      unitRef="U_USD">165000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_397f6811-483d-4d6b-b684-4b5207a8850c"
      unitRef="U_USD">3012000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_f9c2c3bb-31c2-4ff3-b346-fced7c750cd4"
      unitRef="U_USD">-525000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_28a19a92-d582-479d-af2a-603d7a1f73d3"
      unitRef="U_USD">-5000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_c96d4186-8c17-4e9e-a59e-57daf653e65d"
      unitRef="U_USD">0</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_42611ed1-4fda-4892-884d-b17bb57d1707"
      unitRef="U_USD">535000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_e5eb0bf0-f3e9-4a16-bc62-7fdc2cc4613e"
      unitRef="U_USD">-2633000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_44ea9caa-b2ab-4371-800b-33f515bfc299"
      unitRef="U_USD">7976000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_2fca67c5-3c31-4124-84cd-12c3e7566cd4"
      decimals="-3"
      id="F_d80a5356-8aa0-4694-b1fc-578e857ee069"
      unitRef="U_USD">12078000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_f389bab5-1dec-44fe-a0b8-e99e6688c1ba"
      unitRef="U_USD">8511000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_5d2411ba-6e05-4c71-9171-749f98c1a520"
      decimals="-3"
      id="F_ff67a14b-d3f5-4edf-a449-69eff79f19dc"
      unitRef="U_USD">9445000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_48628e95-7658-4522-b2eb-5e54e6938abf"
      unitRef="U_USD">38000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_57a33b22-f335-4d40-b79c-a7e55b4e408a"
      unitRef="U_USD">64000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxRefundsDiscontinuedOperations
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_2acef51a-0ed4-4858-bce4-30d2da5111c8"
      unitRef="U_USD">50000</us-gaap:IncomeTaxRefundsDiscontinuedOperations>
    <us-gaap:IncomeTaxRefundsDiscontinuedOperations
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_5a46b59b-4db3-4904-86d9-b04b475fd8e5"
      unitRef="U_USD">0</us-gaap:IncomeTaxRefundsDiscontinuedOperations>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_cea7e964-2498-4804-95c2-fd0595010b85"
      unitRef="U_USD">179000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_41acdd16-b1c3-490c-97af-f6d3c9c16a07"
      unitRef="U_USD">11000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_8c29ae1c-e489-425e-b9cd-1ccf031a7c32"
      unitRef="U_USD">0</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_b4d7f993-f540-489e-bdd3-6174ef9457c4"
      unitRef="U_USD">29000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <airg:OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_fa96c10b-32d2-4fb6-b81f-160cfc8e2be3"
      unitRef="U_USD">10000</airg:OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock>
    <airg:OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_8d3c958e-9a0e-41c7-bcdc-b01e0bd9f27e"
      unitRef="U_USD">0</airg:OfferingCostsChargedAgainstProceedsFromSaleOfCommonStock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_ddaa9bf1-dc5e-4c13-b06d-46111d813f5d"
      unitRef="U_USD">8416000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="C_5d2411ba-6e05-4c71-9171-749f98c1a520"
      decimals="-3"
      id="F_f39fc66e-2563-4d8f-a80a-3a5b2e224b74"
      unitRef="U_USD">9270000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:RestrictedCash
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_20f7c96a-91bb-4e66-a910-0fc5185e49fc"
      unitRef="U_USD">95000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash
      contextRef="C_5d2411ba-6e05-4c71-9171-749f98c1a520"
      decimals="-3"
      id="F_a24694ea-3c9d-4777-8a25-8a8db987c4c7"
      unitRef="U_USD">175000</us-gaap:RestrictedCash>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_af3e3c7f-84c2-465f-ac60-fee2a945dc0d"
      unitRef="U_USD">8511000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations
      contextRef="C_5d2411ba-6e05-4c71-9171-749f98c1a520"
      decimals="-3"
      id="F_ef872c27-8b16-4b47-a65d-227502073d74"
      unitRef="U_USD">9445000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_ac890d7e-c21d-4c97-a18b-219bb0fc261e">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Note 1. Description of Business and Basis of Presentation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Description of Business&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Airgain, Inc. was incorporated in the State of California on March 20, 1995; and reincorporated in the State of Delaware on August 17, 2016. Airgain, Inc. together with its subsidiaries are herein referred to as the &#x201c;Company,&#x201d; &#x201c;we,&#x201d; or &#x201c;our.&#x201d; The Company is a leading provider of connectivity solutions including embedded components, external antennas, and integrated systems that enable wireless networking in the consumer, enterprise, and automotive markets. The Company&#x2019;s headquarters is in San Diego, California.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Basis of Presentation and Principles of Consolidation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles (GAAP) and applicable rules and regulations of the Securities and Exchange Commission (SEC) regarding interim financial reporting. Certain information and note disclosures normally included in the consolidated financial statements prepared in accordance with GAAP have been condensed or omitted pursuant to such rules and regulations. Interim financial results are not necessarily indicative of results anticipated for the full year. As such, the information included in this quarterly report on Form 10-Q should be read in conjunction with the financial statements and accompanying notes included in the Company&#x2019;s Annual Report on Form 10-K for the fiscal year ended December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;, from which the balance sheet information herein was derived. The unaudited Condensed Consolidated Financial Statements include the accounts of the Company and its wholly owned subsidiary. All intercompany transactions and investments have been eliminated in consolidation.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Segment Information&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company&#x2019;s operations are located primarily in the United States and most of its assets are located in San Diego, California and Plymouth, Minnesota.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company operates in one segment related to providing connectivity solutions &#x2013; embedded components, external antennas, and integrated systems. The Company&#x2019;s chief operating decision-maker is our chief executive officer, who reviews operating results on an aggregate consolidated basis for purposes of regularly making operating decisions, allocation of resources and assessing performance as a single operating segment.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Use of Estimates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <airg:DescriptionOfBusinessPolicyTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_4c577d8d-0ad8-4ab7-a072-ac1993f2a55a">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Description of Business&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Airgain, Inc. was incorporated in the State of California on March 20, 1995; and reincorporated in the State of Delaware on August 17, 2016. Airgain, Inc. together with its subsidiaries are herein referred to as the &#x201c;Company,&#x201d; &#x201c;we,&#x201d; or &#x201c;our.&#x201d; The Company is a leading provider of connectivity solutions including embedded components, external antennas, and integrated systems that enable wireless networking in the consumer, enterprise, and automotive markets. The Company&#x2019;s headquarters is in San Diego, California.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</airg:DescriptionOfBusinessPolicyTextBlock>
    <us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_9cec2403-c3e5-4894-abbf-ed0a4a80633e">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Basis of Presentation and Principles of Consolidation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with U.S. generally accepted accounting principles (GAAP) and applicable rules and regulations of the Securities and Exchange Commission (SEC) regarding interim financial reporting. Certain information and note disclosures normally included in the consolidated financial statements prepared in accordance with GAAP have been condensed or omitted pursuant to such rules and regulations. Interim financial results are not necessarily indicative of results anticipated for the full year. As such, the information included in this quarterly report on Form 10-Q should be read in conjunction with the financial statements and accompanying notes included in the Company&#x2019;s Annual Report on Form 10-K for the fiscal year ended December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;, from which the balance sheet information herein was derived. The unaudited Condensed Consolidated Financial Statements include the accounts of the Company and its wholly owned subsidiary. All intercompany transactions and investments have been eliminated in consolidation.&lt;/span&gt;&lt;/p&gt;</us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_0215ac67-4217-4cc1-b4f8-e20acca44ce1">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Segment Information&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company&#x2019;s operations are located primarily in the United States and most of its assets are located in San Diego, California and Plymouth, Minnesota.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company operates in one segment related to providing connectivity solutions &#x2013; embedded components, external antennas, and integrated systems. The Company&#x2019;s chief operating decision-maker is our chief executive officer, who reviews operating results on an aggregate consolidated basis for purposes of regularly making operating decisions, allocation of resources and assessing performance as a single operating segment.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_16f4cfb2-4050-452b-a397-fbcb5ff856fe">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Use of Estimates&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The preparation of financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the consolidated financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ from those estimates.&lt;/span&gt;&lt;/p&gt;</us-gaap:UseOfEstimates>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_18b29038-4ef0-4e2b-8eff-07987ac8cdff">&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Note 2. Summary of Significant Accounting Policies&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;During the six months ended June 30, 2024, there have been no material changes to the Company&#x2019;s significant accounting policies as described in the Company&#x2019;s Annual Report on Form 10-K for the fiscal year ended December 31, 2023.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Trade Accounts Receivable&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;We &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;perform ongoing credit evaluations of our customers and assess each customer&#x2019;s credit worthiness. The policy for determining when receivables are past due or delinquent is based on the contractual terms agreed upon. We monitor collections and payments from our customers and analyze for an allowance for credit losses. The allowance for credit losses is based upon applying an expected credit loss rate to receivables based on the historical loss rate and is adjusted for current conditions, including any specific customer collection issues identified, and economic conditions forecast. Delinquent account balances are written off after management has determined that the likelihood of collection is remote.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;An &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;allowance for doubtful accounts is established when, in the opinion of management, collection of the account is doubtful.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Inventories&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;As of April 2022, all of the Company&#x2019;s products are manufactured by third parties that retain ownership of the inventory until title is transferred to the customer at the shipping point. In some situations, the Company retains ownership of consigned inventories at third-party contract manufacturer (CM) locations due to actual or pending customers' orders. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;"&gt;The Company recognized the consigned inventory as an asset in its financial statements&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;. In certain instances, shipping terms are delivery-at-place and the Company is responsible for arranging transportation and delivery of goods ready for unloading at the named place. In those instances, the Company bears all risk involved in bringing the goods to the named place and records the related inventory in transit to the customer as inventory on the accompanying consolidated balance sheets. In the second quarter of 2022, we closed our facility located in Scottsdale, Arizona where certain of our products were previously manufactured.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Inventory is stated at the lower of cost or net realizable value. For items manufactured by our CMs, cost is determined using the weighted average cost method. For items manufactured by third parties, cost is determined using the first-in, first-out method (FIFO). Any adjustments to reduce the cost of inventories to their net realizable value are recognized in earnings in the current period. Write downs for excess and obsolete inventories are estimated based on product life cycles, quality issues, and historical experience.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Property and Equipment&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Property and equipment are stated at cost and are depreciated using the straight-line method over the estimated useful lives of the assets, generally &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="-sec-ix-hidden:F_937bdce1-8050-4e4e-9c39-8107ba36c542;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; to &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;ten years&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;. The estimated useful lives for leasehold improvements are determined as either the estimated useful life of the asset or the lease term, whichever is shorter. Repairs and maintenance are expensed as incurred. Property and equipment are reviewed for impairment whenever events or changes in circumstances indicate the carrying amount of an asset may not be recoverable. When assets are disposed of (or otherwise sold), the cost and related accumulated depreciation are removed from the accounts and any gain or loss on the disposal of property and equipment is classified as other expense (income) in the Company's consolidated statement of operations.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;We account for our goodwill under the authoritative guidance ASC 250 for goodwill and other intangible assets and the provisions of ASU 2017-04, Simplifying the Test for Goodwill Impairment, which we early adopted in fiscal year 2020. Goodwill is not amortized but is tested for impairment annually as of December 31 or more frequently if events or changes in circumstances indicate that our goodwill might be impaired. Such circumstances may include, but not limited to (1) a decline in macro-economic conditions, (2) a significant decline in our financial performance or (3) a significant decline in the price of our common stock for a sustained period of time. We consider the aggregation of the relevant qualitative factors, and conclude whether it is more likely than not that the fair value of our reporting unit is less than the carrying value.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;If we conclude that it is more likely than not that the fair value of our reporting unit is less than the carrying value, we perform a quantitative impairment test. The quantitative impairment test compares the fair value of the reporting unit to its carrying amount, including goodwill. If the fair value of the reporting unit exceeds the carrying amount of the net assets assigned to that reporting unit, goodwill is not considered impaired. However, if the fair value of the reporting unit is lower than the carrying amount of the net assets assigned to the reporting unit, an impairment charge is recognized equal to the excess of the carrying amount over the fair value. The impairment charge is limited to the goodwill amount of the reporting unit.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Determining the fair value of a reporting unit is judgmental in nature and involves the use of significant estimates and assumptions. For the market approach of valuation, we may use the guideline public company method. Under this method we utilize information from comparable publicly traded companies with similar operating and investment characteristics as the reporting unit to derive an indication of value. For the income approach of valuation, we use a discounted cash flow methodology to derive an indication of value, which required management to make estimates and assumptions related to forecasted revenues, gross profit margins, operating income margins, working capital cash flow, income tax rates, EBITDA, perpetual growth rates, and long-term discount rates, among others. In addition, we make certain judgments and assumptions in determining our reporting unit. We base our fair value estimates on assumptions we believe to be reasonable but that are unpredictable and inherently uncertain. Actual future results may differ from those estimates.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Intangibles&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company&#x2019;s identifiable finite-lived intangible assets are comprised of acquired intangibles, developed technologies, customer relationships and non-compete agreements. The cost of the market-related intangible assets with finite lives is amortized on a straight-line basis over the assets&#x2019; respective estimated useful lives.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;We assess potential impairments to our intangible assets in accordance with the authoritative guidance for impairment or disposal of long-lived assets (ASC 360) when events or changes in circumstances indicate that the carrying value may not be recoverable. We assess the impairment of long-lived and intangible assets whenever events or changes in circumstances indicate that the carrying value may not be recoverable. As a first step, we consider factors, which may include the following, but are not limited to: (1) significant underperformance relative to historical or projected future operating results; (2) significant negative industry or economic trends; or (3) a significant decline in our stock price for a sustained period.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;If this assessment indicates that the carrying value of the assets may not be recoverable, the Company is required to perform the second step to test the asset group for recoverability. This recoverability test compares the future undiscounted cash flows expected from the use of the asset group to its carrying value. If the carrying value is more than the undiscounted future cash flows, the Company is required perform a third step to determine the fair value of the asset group and compare fair value against the carrying value. Any excess carrying value over the fair value needs to be recognized as an impairment loss.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Determining the recoverability of long-lived or intangible assets is judgmental in nature and involves the use of significant estimates and assumptions. These estimates and assumptions include revenue growth rates and operating margins used to calculate projected future cash flows and the future market value of our asset group. In addition, we make certain judgments and assumptions in determining our asset group. We base our recoverability estimates on assumptions we believe to be reasonable but that are unpredictable and inherently uncertain. Actual future results may differ from those estimates.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Revenue Recognition&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Under ASC Topic 606 &#x201c;Revenue from Contracts with Customers&#x201d;, the Company recognize revenue when, or as the control of the promised goods or services is transferred to the customers in an amount that reflects the consideration the Company expects to be entitled in exchange for those goods or services. In applying this core principle, the Company performs the following five-steps only when it is probable that substantially all of the consideration that it will be entitled in exchange for the goods or services that will be transferred to the customer:&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;(i) identify the contract(s) with the customer,&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;(ii) identify the performance obligations in the contract,&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;(iii) determine the transaction price,&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;(iv) allocate the transaction price to the performance obligation(s) in the contract and&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:6.667%;text-indent:-4.478%;padding-left:4%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;(v) recognize revenue when or as the entity satisfies performance obligations. A performance obligation is at a point in time, except if it meets any of the three criteria, which will require recognition of revenue over time:&lt;/span&gt;&lt;/p&gt;&lt;div class="item-list-element-wrapper" style="margin-left:11.194%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.108889039028894%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;the customer simultaneously receives and consumes the benefit provided by the entity&#x2019;s performance as the entity performs,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:11.194%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.108889039028894%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;the entity&#x2019;s performance creates or enhances an asset (for example, work in process) that the customer controls as the asset is created or enhanced, and&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:11.194%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.108889039028894%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;the entity's performance does not create an asset with an alternative use to the entity and the entity has an enforceable right to payment for performance completed to date.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Most of the Company's revenue is generated from product sales and the revenue is recognized at a point-in-time when control is transferred to the customer. Each purchase order, along with existing customer agreements, when applicable, represents a contract from a customer and each product sold represents a distinct performance obligation. Revenue is recognized when control is transferred to the customer at a point in time either when the product is shipped to or received by the customer, based on the terms of the specific agreement with the customer, and the Company has an enforceable right to payment for the product. The Company allocates the transaction price, which is generally the quoted price per terms of the contract and the consideration the Company expects to receive, to each performance obligation. The Company offers return rights and/or pricing credits under certain circumstances. We estimate product returns based on historical sales and return trends and record against revenue and corresponding refund liability.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;A portion of the Company's revenue is recognized over time, including: data subscription, test services or custom design services. Revenue from data subscription plans relate to purchased asset trackers with activated data lines, through a third-party service provider. Data subscription plan revenues are recognized monthly based on the fee stated in the contract, as the customer is simultaneously receiving and consuming the benefits provided throughout the Company's monthly performance obligation. Test service revenues are recognized monthly based on the fee stated in the contract for obligations over time on assets that the customer controls. Design service fees are paid in advance; the prepayments are deferred revenues and are recorded as contract liabilities. Most of the design service fees are recognized based on the Company's achievement of milestones. The Company's performance for the design services does not create an asset with an alternative use to the Company and the Company has an enforceable right to payment for performance completed to date. We recognize from the contract liabilities as milestones are achieved over service periods ranging from &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="-sec-ix-hidden:F_cf1b385b-7ee7-4c17-8624-172917d1a479;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; (3) to &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="-sec-ix-hidden:F_008c8ceb-a1b6-4dd4-80ba-6aa77eae877c;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;eighteen&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; (18) months.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company's contracts with customers do not typically include extended payment terms. Payment terms may vary by contract and type of customer and generally range from &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; to &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;90&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; days from delivery.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company provides assurance-type warranties on all product sales ranging from one to two years. The estimated warranty costs are accrued for at the time of sale based on historical warranty experience plus any known or expected changes in warranty exposure.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company has opted to not disclose the portion of revenues allocated to partially unsatisfied performance obligations, which represent products to be shipped within 12 months under open customer purchase orders, at the end of the current reporting period as allowed under ASC 606. The Company has also elected to record sales commissions when incurred, pursuant to the practical expedient under ASC 340, Other Assets and Deferred Costs, as the period over which the sales commission asset that would have been recognized is less than one year.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Shipping and Transportation Costs&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Shipping and other transportation costs expensed as incurred were &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; for each of the three months ended June 30, 2024 and 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;. These costs are included in sales and marketing expenses in the accompanying consolidated statements of operations.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Research and Development Costs&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Research and development costs are expensed as incurred.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Advertising Costs&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Advertising costs are expensed as incurred. These costs are included in sales and marketing expenses in the accompanying consolidated statements of operations.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Income Taxes&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company records income taxes under the asset and liability method. Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statements 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 income in the period that includes the enactment date. When applicable a valuation allowance is established to reduce any deferred tax asset when we determine that it is more likely than not that some portion of the deferred tax asset will not be realized.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company recognizes the effect of income tax positions only if those positions are more likely than not of being sustained. Recognized income tax positions are measured at the largest amount that is greater than 50% likely of being realized. Changes in recognition or measurement are reflected in the period in which the change in judgment occurs. The Company records interest related to unrecognized tax benefits in interest expense and penalties in general and administrative expenses.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;We recognize compensation costs related to stock options and restricted stock units granted to employees and directors based on the estimated fair value of the awards on the date of grant. We estimate the option grant fair values, and the resulting stock-based compensation expense, using the Black-Scholes option-pricing model. The grant date fair value of&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;stock-based awards are expensed on a straight-line basis over the requisite service period of the entire reward. The Company recognizes forfeitures when incurred.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The assumptions used in the Black-Scholes option-pricing model are as follows:&lt;/span&gt;&lt;/p&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Fair value of our common stock. The Company&#x2019;s common stock is valued by reference to the publicly traded price of our common stock.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Expected term. The expected term represents the period of time stock-based awards are expected to be outstanding.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Expected weighted average volatility. Beginning 2022, we estimated expected volatility using solely our historical share price volatilities.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Risk-free interest rate. The risk-free interest rate is based on the U.S. Treasury yield in effect at the time of grant for zero coupon U.S. Treasury notes with maturities approximately equal to the expected term.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Expected dividend. The expected dividend is assumed to be zero as the Company has never paid dividends and have no current plans to pay any dividends.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Fair Value Measurements&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The carrying values of the Company&#x2019;s financial instruments, including cash, trade accounts receivable, accounts payable, accrued liabilities and deferred purchase price obligations approximate their fair values due to the short maturity of these instruments.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Fair value measurements are market-based measurements, not entity-specific measurements. Therefore, fair value measurements are determined based on the assumptions that market participants would use in pricing the asset or liability. The Company follows a three-level hierarchy to prioritize the inputs used in the valuation techniques to derive fair values. The basis for fair value measurements for each level within the hierarchy is described below:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Level 1: Quoted prices in active markets for identical assets or liabilities. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Level 2: Quoted prices for similar assets or liabilities in active markets; quoted prices for identical or similar instruments in markets that are not active; and model-derived valuations in which all significant inputs are observable in active markets. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Level 3: Valuations derived from valuation techniques in which one or more significant inputs are unobservable in active markets.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;None.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Recently Issued Accounting Pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;In November 2023, the FASB issued ASU 2023-07, &#x201c;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#x201d; ASU No. 2023-07 require that a public entity disclose, on an annual and interim basis, significant segment expenses that are regularly provided to an entity's chief operating decision maker (CODM), amounts and descriptions of other reportable segments, and any additional measures of a segment's profit or loss used by the CODM when deciding how to allocate resources. The ASU is applicable to entities with a single reportable segment. This ASU is effective for fiscal years beginning after December 15, 2023, and for interim periods within fiscal years beginning after December 15, 2024. Early adoption is permitted. The ASU should be applied retrospectively to all prior periods presented in the financial statements. The Company will evaluate the ASU to determine its impact on the Company&#x2019;s disclosures. The Company does not expect adoption to have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;In December 2023, the FASB issued ASU 2023-09, "Income Taxes (Topic 740): Improvements to Income Tax Disclosures.". ASU No. 2023-09 requires expanded disaggregated information about a reporting entity&#x2019;s effective tax rate reconciliation as well as disclosure of income taxes paid by jurisdiction. The amendments in ASU are effective for fiscal years beginning after December 15, 2024 with early adoption permitted. Retrospective application of the amendments are permitted. The Company will evaluate the ASU to determine its impact on the Company&#x2019;s disclosures. As the amendments apply to income tax disclosures only, the Company does not expect adoption to have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;In March 2024, the FASB issued ASU 2024-02, "Codification Improvements&#x2014;Amendments to Remove References to the Concepts Statements." ASU No. 2024-02 removes various references to concepts statements from the FASB Accounting&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Standards Codification. The ASU indicates that the goal of the amendments is to simplify the Codification and distinguish between non-authoritative and authoritative guidance since, unlike the Codification, the concepts statements are non-authoritative. The amendments in ASU are effective for fiscal years beginning after December 15, 2024 with early adoption permitted. Retrospective application of the amendments are permitted. The Company will evaluate the ASU to determine its impact on the Company&#x2019;s disclosures. The Company does not expect adoption to have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;We have assessed all other ASUs issued but not yet adopted and concluded that those not disclosed are not relevant to the Company or are not expected to have a material impact.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:TradeAndOtherAccountsReceivablePolicy
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_1384a40b-c3ab-4277-a6a6-d02ad5c72dd6">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Trade Accounts Receivable&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;We &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;perform ongoing credit evaluations of our customers and assess each customer&#x2019;s credit worthiness. The policy for determining when receivables are past due or delinquent is based on the contractual terms agreed upon. We monitor collections and payments from our customers and analyze for an allowance for credit losses. The allowance for credit losses is based upon applying an expected credit loss rate to receivables based on the historical loss rate and is adjusted for current conditions, including any specific customer collection issues identified, and economic conditions forecast. Delinquent account balances are written off after management has determined that the likelihood of collection is remote.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;An &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;allowance for doubtful accounts is established when, in the opinion of management, collection of the account is doubtful.&lt;/span&gt;&lt;/p&gt;</us-gaap:TradeAndOtherAccountsReceivablePolicy>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_caf97211-8024-4b6f-b947-07cb873e8e3d">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Inventories&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;As of April 2022, all of the Company&#x2019;s products are manufactured by third parties that retain ownership of the inventory until title is transferred to the customer at the shipping point. In some situations, the Company retains ownership of consigned inventories at third-party contract manufacturer (CM) locations due to actual or pending customers' orders. &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:9pt;font-family:Arial;min-width:fit-content;"&gt;The Company recognized the consigned inventory as an asset in its financial statements&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;. In certain instances, shipping terms are delivery-at-place and the Company is responsible for arranging transportation and delivery of goods ready for unloading at the named place. In those instances, the Company bears all risk involved in bringing the goods to the named place and records the related inventory in transit to the customer as inventory on the accompanying consolidated balance sheets. In the second quarter of 2022, we closed our facility located in Scottsdale, Arizona where certain of our products were previously manufactured.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Inventory is stated at the lower of cost or net realizable value. For items manufactured by our CMs, cost is determined using the weighted average cost method. For items manufactured by third parties, cost is determined using the first-in, first-out method (FIFO). Any adjustments to reduce the cost of inventories to their net realizable value are recognized in earnings in the current period. Write downs for excess and obsolete inventories are estimated based on product life cycles, quality issues, and historical experience.&lt;/span&gt;&lt;/p&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_58d419a8-de01-47c8-86b1-36953e754a9f">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Property and Equipment&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Property and equipment are stated at cost and are depreciated using the straight-line method over the estimated useful lives of the assets, generally &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="-sec-ix-hidden:F_937bdce1-8050-4e4e-9c39-8107ba36c542;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; to &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;ten years&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;. The estimated useful lives for leasehold improvements are determined as either the estimated useful life of the asset or the lease term, whichever is shorter. Repairs and maintenance are expensed as incurred. Property and equipment are reviewed for impairment whenever events or changes in circumstances indicate the carrying amount of an asset may not be recoverable. When assets are disposed of (or otherwise sold), the cost and related accumulated depreciation are removed from the accounts and any gain or loss on the disposal of property and equipment is classified as other expense (income) in the Company's consolidated statement of operations.&lt;/span&gt;&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="C_54e3c8fa-7281-4931-af34-fe9db0bcfd04"
      id="F_19c78d84-f786-4baf-9e66-d8ccfe6ef0c8">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_989299e8-4c1b-4625-a95a-9c6e134d0de0">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;We account for our goodwill under the authoritative guidance ASC 250 for goodwill and other intangible assets and the provisions of ASU 2017-04, Simplifying the Test for Goodwill Impairment, which we early adopted in fiscal year 2020. Goodwill is not amortized but is tested for impairment annually as of December 31 or more frequently if events or changes in circumstances indicate that our goodwill might be impaired. Such circumstances may include, but not limited to (1) a decline in macro-economic conditions, (2) a significant decline in our financial performance or (3) a significant decline in the price of our common stock for a sustained period of time. We consider the aggregation of the relevant qualitative factors, and conclude whether it is more likely than not that the fair value of our reporting unit is less than the carrying value.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;If we conclude that it is more likely than not that the fair value of our reporting unit is less than the carrying value, we perform a quantitative impairment test. The quantitative impairment test compares the fair value of the reporting unit to its carrying amount, including goodwill. If the fair value of the reporting unit exceeds the carrying amount of the net assets assigned to that reporting unit, goodwill is not considered impaired. However, if the fair value of the reporting unit is lower than the carrying amount of the net assets assigned to the reporting unit, an impairment charge is recognized equal to the excess of the carrying amount over the fair value. The impairment charge is limited to the goodwill amount of the reporting unit.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Determining the fair value of a reporting unit is judgmental in nature and involves the use of significant estimates and assumptions. For the market approach of valuation, we may use the guideline public company method. Under this method we utilize information from comparable publicly traded companies with similar operating and investment characteristics as the reporting unit to derive an indication of value. For the income approach of valuation, we use a discounted cash flow methodology to derive an indication of value, which required management to make estimates and assumptions related to forecasted revenues, gross profit margins, operating income margins, working capital cash flow, income tax rates, EBITDA, perpetual growth rates, and long-term discount rates, among others. In addition, we make certain judgments and assumptions in determining our reporting unit. We base our fair value estimates on assumptions we believe to be reasonable but that are unpredictable and inherently uncertain. Actual future results may differ from those estimates.&lt;/span&gt;&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy>
    <us-gaap:IntangibleAssetsFiniteLivedPolicy
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_5c7b8dbc-a1a4-4075-a0ea-e3566af4e0fe">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Intangibles&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company&#x2019;s identifiable finite-lived intangible assets are comprised of acquired intangibles, developed technologies, customer relationships and non-compete agreements. The cost of the market-related intangible assets with finite lives is amortized on a straight-line basis over the assets&#x2019; respective estimated useful lives.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;We assess potential impairments to our intangible assets in accordance with the authoritative guidance for impairment or disposal of long-lived assets (ASC 360) when events or changes in circumstances indicate that the carrying value may not be recoverable. We assess the impairment of long-lived and intangible assets whenever events or changes in circumstances indicate that the carrying value may not be recoverable. As a first step, we consider factors, which may include the following, but are not limited to: (1) significant underperformance relative to historical or projected future operating results; (2) significant negative industry or economic trends; or (3) a significant decline in our stock price for a sustained period.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;If this assessment indicates that the carrying value of the assets may not be recoverable, the Company is required to perform the second step to test the asset group for recoverability. This recoverability test compares the future undiscounted cash flows expected from the use of the asset group to its carrying value. If the carrying value is more than the undiscounted future cash flows, the Company is required perform a third step to determine the fair value of the asset group and compare fair value against the carrying value. Any excess carrying value over the fair value needs to be recognized as an impairment loss.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Determining the recoverability of long-lived or intangible assets is judgmental in nature and involves the use of significant estimates and assumptions. These estimates and assumptions include revenue growth rates and operating margins used to calculate projected future cash flows and the future market value of our asset group. In addition, we make certain judgments and assumptions in determining our asset group. We base our recoverability estimates on assumptions we believe to be reasonable but that are unpredictable and inherently uncertain. Actual future results may differ from those estimates.&lt;/span&gt;&lt;/p&gt;</us-gaap:IntangibleAssetsFiniteLivedPolicy>
    <us-gaap:RevenueRecognitionPolicyTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_10c45f6b-27a3-4fa6-a9f3-d20ad3b55035">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Revenue Recognition&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Under ASC Topic 606 &#x201c;Revenue from Contracts with Customers&#x201d;, the Company recognize revenue when, or as the control of the promised goods or services is transferred to the customers in an amount that reflects the consideration the Company expects to be entitled in exchange for those goods or services. In applying this core principle, the Company performs the following five-steps only when it is probable that substantially all of the consideration that it will be entitled in exchange for the goods or services that will be transferred to the customer:&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;(i) identify the contract(s) with the customer,&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;(ii) identify the performance obligations in the contract,&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;(iii) determine the transaction price,&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:6.667%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;(iv) allocate the transaction price to the performance obligation(s) in the contract and&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left:6.667%;text-indent:-4.478%;padding-left:4%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;(v) recognize revenue when or as the entity satisfies performance obligations. A performance obligation is at a point in time, except if it meets any of the three criteria, which will require recognition of revenue over time:&lt;/span&gt;&lt;/p&gt;&lt;div class="item-list-element-wrapper" style="margin-left:11.194%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.108889039028894%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;the customer simultaneously receives and consumes the benefit provided by the entity&#x2019;s performance as the entity performs,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:11.194%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.108889039028894%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;the entity&#x2019;s performance creates or enhances an asset (for example, work in process) that the customer controls as the asset is created or enhanced, and&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:11.194%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:5.108889039028894%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;the entity's performance does not create an asset with an alternative use to the entity and the entity has an enforceable right to payment for performance completed to date.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Most of the Company's revenue is generated from product sales and the revenue is recognized at a point-in-time when control is transferred to the customer. Each purchase order, along with existing customer agreements, when applicable, represents a contract from a customer and each product sold represents a distinct performance obligation. Revenue is recognized when control is transferred to the customer at a point in time either when the product is shipped to or received by the customer, based on the terms of the specific agreement with the customer, and the Company has an enforceable right to payment for the product. The Company allocates the transaction price, which is generally the quoted price per terms of the contract and the consideration the Company expects to receive, to each performance obligation. The Company offers return rights and/or pricing credits under certain circumstances. We estimate product returns based on historical sales and return trends and record against revenue and corresponding refund liability.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;A portion of the Company's revenue is recognized over time, including: data subscription, test services or custom design services. Revenue from data subscription plans relate to purchased asset trackers with activated data lines, through a third-party service provider. Data subscription plan revenues are recognized monthly based on the fee stated in the contract, as the customer is simultaneously receiving and consuming the benefits provided throughout the Company's monthly performance obligation. Test service revenues are recognized monthly based on the fee stated in the contract for obligations over time on assets that the customer controls. Design service fees are paid in advance; the prepayments are deferred revenues and are recorded as contract liabilities. Most of the design service fees are recognized based on the Company's achievement of milestones. The Company's performance for the design services does not create an asset with an alternative use to the Company and the Company has an enforceable right to payment for performance completed to date. We recognize from the contract liabilities as milestones are achieved over service periods ranging from &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="-sec-ix-hidden:F_cf1b385b-7ee7-4c17-8624-172917d1a479;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;three&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; (3) to &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="-sec-ix-hidden:F_008c8ceb-a1b6-4dd4-80ba-6aa77eae877c;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;eighteen&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; (18) months.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company's contracts with customers do not typically include extended payment terms. Payment terms may vary by contract and type of customer and generally range from &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; to &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;90&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; days from delivery.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company provides assurance-type warranties on all product sales ranging from one to two years. The estimated warranty costs are accrued for at the time of sale based on historical warranty experience plus any known or expected changes in warranty exposure.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company has opted to not disclose the portion of revenues allocated to partially unsatisfied performance obligations, which represent products to be shipped within 12 months under open customer purchase orders, at the end of the current reporting period as allowed under ASC 606. The Company has also elected to record sales commissions when incurred, pursuant to the practical expedient under ASC 340, Other Assets and Deferred Costs, as the period over which the sales commission asset that would have been recognized is less than one year.&lt;/span&gt;&lt;/p&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
    <airg:RevenueRecognitionPaymentTerms
      contextRef="C_94b0ba2c-32ea-477a-a1ae-b51a9eae7d1f"
      decimals="0"
      id="F_b598df30-2c19-46ae-9946-d8fdcea90a08"
      unitRef="U_Days">30</airg:RevenueRecognitionPaymentTerms>
    <airg:RevenueRecognitionPaymentTerms
      contextRef="C_3969066a-c5e9-4ebd-91e6-e40a3ea55879"
      decimals="0"
      id="F_a7c323aa-c5c7-4afb-b870-1490206a9acb"
      unitRef="U_Days">90</airg:RevenueRecognitionPaymentTerms>
    <airg:RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_e9a52292-7591-4c3b-b4ac-8b07bb819957">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Shipping and Transportation Costs&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Shipping and other transportation costs expensed as incurred were &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; for each of the three months ended June 30, 2024 and 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;. These costs are included in sales and marketing expenses in the accompanying consolidated statements of operations.&lt;/span&gt;&lt;/p&gt;</airg:RevenueFromContractWithCustomerShippingAndHandlingCostPolicyTextBlock>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-5"
      id="F_55f53814-e0f3-4bb4-8258-3f284f29af1c"
      unitRef="U_USD">100000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-5"
      id="F_b68d31b1-43b3-4bd8-a43f-296c639593c2"
      unitRef="U_USD">100000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_5a1c064a-c988-45f9-9a00-41b714f295fc">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Research and Development Costs&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Research and development costs are expensed as incurred.&lt;/span&gt;&lt;/p&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:AdvertisingCostsPolicyTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_089e56f2-6704-490d-acd3-dccecf1b6f97">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Advertising Costs&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Advertising costs are expensed as incurred. These costs are included in sales and marketing expenses in the accompanying consolidated statements of operations.&lt;/span&gt;&lt;/p&gt;</us-gaap:AdvertisingCostsPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_c6419f2c-d236-4e5f-8798-309c6996a00a">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Income Taxes&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company records income taxes under the asset and liability method. Deferred tax assets and liabilities are recognized for the future tax consequences attributable to differences between the financial statements 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 income in the period that includes the enactment date. When applicable a valuation allowance is established to reduce any deferred tax asset when we determine that it is more likely than not that some portion of the deferred tax asset will not be realized.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company recognizes the effect of income tax positions only if those positions are more likely than not of being sustained. Recognized income tax positions are measured at the largest amount that is greater than 50% likely of being realized. Changes in recognition or measurement are reflected in the period in which the change in judgment occurs. The Company records interest related to unrecognized tax benefits in interest expense and penalties in general and administrative expenses.&lt;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_a0a23e69-ff5a-4e5d-9a15-d1d90d75892d">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;We recognize compensation costs related to stock options and restricted stock units granted to employees and directors based on the estimated fair value of the awards on the date of grant. We estimate the option grant fair values, and the resulting stock-based compensation expense, using the Black-Scholes option-pricing model. The grant date fair value of&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;stock-based awards are expensed on a straight-line basis over the requisite service period of the entire reward. The Company recognizes forfeitures when incurred.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The assumptions used in the Black-Scholes option-pricing model are as follows:&lt;/span&gt;&lt;/p&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Fair value of our common stock. The Company&#x2019;s common stock is valued by reference to the publicly traded price of our common stock.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Expected term. The expected term represents the period of time stock-based awards are expected to be outstanding.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Expected weighted average volatility. Beginning 2022, we estimated expected volatility using solely our historical share price volatilities.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Risk-free interest rate. The risk-free interest rate is based on the U.S. Treasury yield in effect at the time of grant for zero coupon U.S. Treasury notes with maturities approximately equal to the expected term.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Expected dividend. The expected dividend is assumed to be zero as the Company has never paid dividends and have no current plans to pay any dividends.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_55546005-ff60-47f7-80a5-44ad8e073e45">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Fair Value Measurements&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The carrying values of the Company&#x2019;s financial instruments, including cash, trade accounts receivable, accounts payable, accrued liabilities and deferred purchase price obligations approximate their fair values due to the short maturity of these instruments.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Fair value measurements are market-based measurements, not entity-specific measurements. Therefore, fair value measurements are determined based on the assumptions that market participants would use in pricing the asset or liability. The Company follows a three-level hierarchy to prioritize the inputs used in the valuation techniques to derive fair values. The basis for fair value measurements for each level within the hierarchy is described below:&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Level 1: Quoted prices in active markets for identical assets or liabilities. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Level 2: Quoted prices for similar assets or liabilities in active markets; quoted prices for identical or similar instruments in markets that are not active; and model-derived valuations in which all significant inputs are observable in active markets. &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="item-list-element-wrapper" style="margin-left:4.528%;display:flex;margin-top:6pt;justify-content:flex-start;align-items:baseline;margin-bottom:0;min-width:4.537%;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:4.7521786492374725%;display:inline-flex;justify-content:flex-start;"&gt;&#x2022;&lt;/span&gt;&lt;div style="width:100%;display:inline;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Level 3: Valuations derived from valuation techniques in which one or more significant inputs are unobservable in active markets.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_f1dd2239-dde4-4133-a37b-cc317a89ed06">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;None.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Recently Issued Accounting Pronouncements&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;In November 2023, the FASB issued ASU 2023-07, &#x201c;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures.&#x201d; ASU No. 2023-07 require that a public entity disclose, on an annual and interim basis, significant segment expenses that are regularly provided to an entity's chief operating decision maker (CODM), amounts and descriptions of other reportable segments, and any additional measures of a segment's profit or loss used by the CODM when deciding how to allocate resources. The ASU is applicable to entities with a single reportable segment. This ASU is effective for fiscal years beginning after December 15, 2023, and for interim periods within fiscal years beginning after December 15, 2024. Early adoption is permitted. The ASU should be applied retrospectively to all prior periods presented in the financial statements. The Company will evaluate the ASU to determine its impact on the Company&#x2019;s disclosures. The Company does not expect adoption to have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;In December 2023, the FASB issued ASU 2023-09, "Income Taxes (Topic 740): Improvements to Income Tax Disclosures.". ASU No. 2023-09 requires expanded disaggregated information about a reporting entity&#x2019;s effective tax rate reconciliation as well as disclosure of income taxes paid by jurisdiction. The amendments in ASU are effective for fiscal years beginning after December 15, 2024 with early adoption permitted. Retrospective application of the amendments are permitted. The Company will evaluate the ASU to determine its impact on the Company&#x2019;s disclosures. As the amendments apply to income tax disclosures only, the Company does not expect adoption to have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;In March 2024, the FASB issued ASU 2024-02, "Codification Improvements&#x2014;Amendments to Remove References to the Concepts Statements." ASU No. 2024-02 removes various references to concepts statements from the FASB Accounting&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Standards Codification. The ASU indicates that the goal of the amendments is to simplify the Codification and distinguish between non-authoritative and authoritative guidance since, unlike the Codification, the concepts statements are non-authoritative. The amendments in ASU are effective for fiscal years beginning after December 15, 2024 with early adoption permitted. Retrospective application of the amendments are permitted. The Company will evaluate the ASU to determine its impact on the Company&#x2019;s disclosures. The Company does not expect adoption to have a material impact on its consolidated financial statements.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;We have assessed all other ASUs issued but not yet adopted and concluded that those not disclosed are not relevant to the Company or are not expected to have a material impact.&lt;/span&gt;&lt;/p&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_66a0f515-189f-4d03-ae5f-76f4d88c8a2f">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Note 3. Net Loss Per Share&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Basic net loss per share is calculated by dividing net loss available to common stockholders by the weighted average shares of common stock outstanding for the period. Diluted net loss per share is calculated by dividing net loss by the weighted average shares of common stock outstanding for the period plus amounts representing the dilutive effect of securities that are convertible into common stock. The Company calculates diluted loss per common share using the treasury stock method.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table presents the computation of net loss per share (in thousands except per share data)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:43.509%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.562%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.562%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.562%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.562%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Three months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Six months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Numerator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Net loss&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,513&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,205&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,063&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Denominator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Basic weighted average common shares outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,938&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,413&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,736&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,340&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Plus dilutive effect of potential common shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Diluted weighted average common shares outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,938&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,413&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,736&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,340&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Net loss per share:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.23&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.21&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.23&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.21&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Potentially dilutive securities (in common stock equivalent shares) not included in the calculation of diluted net loss per share because to do so would be anti-dilutive are as follow&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;s (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:43.509%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.962%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.962%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.962%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.962%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Three months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Six months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Stock options, restricted stock and performance stock&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,387&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,413&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,443&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,369&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Common stock equivalent shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,387&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,413&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,443&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,369&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_60ee1f41-89dc-4ed4-b5b2-628d0c739994">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table presents the computation of net loss per share (in thousands except per share data)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:43.509%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.562%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.562%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.562%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.56%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.562%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Three months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Six months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Numerator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Net loss&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,513&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,205&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,063&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Denominator:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Basic weighted average common shares outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,938&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,413&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,736&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,340&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Plus dilutive effect of potential common shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Diluted weighted average common shares outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,938&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,413&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,736&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,340&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Net loss per share:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Basic&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.23&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.21&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Diluted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.23&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.21&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.46&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.49&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_def150f6-0c70-4371-a5be-b2c24061a178"
      unitRef="U_USD">-2513000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_2d87afc0-5bfc-4bb9-8228-4e2d6baff4a0"
      unitRef="U_USD">-2205000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_db2e0c4c-b2ea-41a1-b255-88456d6b60de"
      unitRef="U_USD">-4968000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_8032a0db-8632-4ae9-b656-1477735d5b85"
      unitRef="U_USD">-5063000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_3779789d-ede2-479e-a74e-ebca4f68634b"
      unitRef="U_shares">10938000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_d493c832-87a2-4078-a61d-f161b49eed96"
      unitRef="U_shares">10413000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_cac6ae80-6a87-4e0e-a82d-ebdbd31e7f40"
      unitRef="U_shares">10736000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_2e5c94b3-58a7-4e0b-b386-ec3bc373a200"
      unitRef="U_shares">10340000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_2568b32a-9efa-4d1d-a031-f1e9afad1ea0"
      unitRef="U_shares">0</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_e7bfa7e4-c1d8-4c5f-9356-19977695c563"
      unitRef="U_shares">0</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_101ff9b4-68bd-4fa9-a418-a8598aa72c78"
      unitRef="U_shares">0</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_9703f9e6-244a-45d0-90a6-4c614e2918ad"
      unitRef="U_shares">0</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_2d52178c-b5e9-4f4a-9c74-58fcfefdf8cb"
      unitRef="U_shares">10938000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_8ce18d1b-598b-47e7-9934-ef6089473a88"
      unitRef="U_shares">10413000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_692f4fb5-0c39-4b87-99a9-5829d3c6183e"
      unitRef="U_shares">10736000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_b9c25384-1a84-4f16-893f-e8233a898490"
      unitRef="U_shares">10340000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="2"
      id="F_27e2be27-830a-4c81-8d33-447828bd2a92"
      unitRef="U_USDollarShare">-0.23</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="2"
      id="F_8da8c238-4faf-459b-a40a-0f38889257b7"
      unitRef="U_USDollarShare">-0.21</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="2"
      id="F_bc740ff0-d567-4039-9796-6fe68a720600"
      unitRef="U_USDollarShare">-0.46</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="2"
      id="F_b809cf9d-9a0d-4f07-9dae-f1e7fffe0ddb"
      unitRef="U_USDollarShare">-0.49</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="2"
      id="F_e046042f-a42c-4ddd-bf10-0bf4435652a7"
      unitRef="U_USDollarShare">-0.23</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="2"
      id="F_1092033f-8f2f-4750-af3d-dd0ebce5f8fc"
      unitRef="U_USDollarShare">-0.21</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="2"
      id="F_64988169-4d54-44d1-bed3-1d29ac0957cb"
      unitRef="U_USDollarShare">-0.46</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="2"
      id="F_adcd8000-2938-45dd-92a9-781351cf7ca3"
      unitRef="U_USDollarShare">-0.49</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_9cd7a9e2-c8fe-4c5e-ae3f-98eecf957491">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Potentially dilutive securities (in common stock equivalent shares) not included in the calculation of diluted net loss per share because to do so would be anti-dilutive are as follow&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;s (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:43.509%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.962%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.962%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.962%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.962%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Three months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Six months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Stock options, restricted stock and performance stock&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,387&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,413&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,443&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,369&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Common stock equivalent shares&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,387&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,413&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,443&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,369&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_002c4ee5-9ad4-43a9-900c-08812d50ebb4"
      decimals="-3"
      id="F_20911890-8714-4312-8fcc-c91efcee02a6"
      unitRef="U_shares">2387000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_3fe87f98-e239-4ec7-b535-be91491d7428"
      decimals="-3"
      id="F_ca1a4733-b31f-4e77-98b3-475c3c1e82b7"
      unitRef="U_shares">2413000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_cd95ca01-4f9d-47aa-9933-babfe3662b3b"
      decimals="-3"
      id="F_726113c1-e193-4f69-9a66-ef12a6f8d511"
      unitRef="U_shares">2443000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_45ad0116-9b99-4c93-a4f2-6e632d0cb996"
      decimals="-3"
      id="F_d73e030e-24cb-4703-84a0-25a82b0c7894"
      unitRef="U_shares">2369000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_a7ae03b1-c083-44b8-b6dd-9573df2facc2"
      unitRef="U_shares">2387000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_274a08cb-bb75-4124-a401-3cafc45fa743"
      unitRef="U_shares">2413000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_6c05a3f8-705b-42b9-a662-16502bae4515"
      unitRef="U_shares">2443000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_d39eb713-e204-4aa4-9851-3bac2dc5622a"
      unitRef="U_shares">2369000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_57c39a92-9777-48ec-93b3-9be4f0297ac8">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Note 4. Cash and Cash Equivalents&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following tables show the Company&#x2019;s cash and cash equivalents by significant investment category &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;(in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:55.151%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.3%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:18.124%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.3%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:18.124%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Cash&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,316&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,581&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Level 1:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Money market funds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;300&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,416&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,881&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Restricted Cash&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;As of June 30, 2024 and December 31, 2023, the Company had &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;95,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; in cash on deposit to secure certain lease commitments; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;40,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; of which is short-term in nature and recorded in prepaid expenses and other current assets and &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; of which is restricted for more than twelve months and recorded in other assets in the Company&#x2019;s consolidated balance sheet.&lt;/span&gt;&lt;/p&gt;</us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock>
    <us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_c2182b70-5dc5-4567-91f8-2fb33a9081cf">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following tables show the Company&#x2019;s cash and cash equivalents by significant investment category &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;(in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:55.151%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.3%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:18.124%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.3%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:18.124%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Cash&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,316&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,581&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Level 1:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Money market funds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;100&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;300&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,416&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,881&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock>
    <us-gaap:Cash
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_e50d9587-f998-4a40-8082-6f3353354804"
      unitRef="U_USD">8316000</us-gaap:Cash>
    <us-gaap:Cash
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_961fe3e5-fc31-4649-8583-9e2f16298e3a"
      unitRef="U_USD">7581000</us-gaap:Cash>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="C_d9e87829-3307-4f50-81a6-612078b9ce93"
      decimals="-3"
      id="F_272a86cd-6ca7-49b8-b32c-5b59a03ef045"
      unitRef="U_USD">100000</us-gaap:CashEquivalentsAtCarryingValue>
    <us-gaap:CashEquivalentsAtCarryingValue
      contextRef="C_10985b53-06bb-4478-8d0f-35be935ef4b2"
      decimals="-3"
      id="F_69ab2b58-6b07-4f20-bee5-07df8a0cef6d"
      unitRef="U_USD">300000</us-gaap:CashEquivalentsAtCarryingValue>
    <airg:CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_9a79d11a-ef46-4be7-abc3-d8d91738dc56"
      unitRef="U_USD">8416000</airg:CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <airg:CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_b21a02f7-c37b-45a4-8a94-c73389c1ba0a"
      unitRef="U_USD">7881000</airg:CashAndCashEquivalentsAtCarryingValueAvailableAndAvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:RestrictedCashEquivalents
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="0"
      id="F_a3a2f508-4d60-41df-a389-6e64c5bbd909"
      unitRef="U_USD">95000</us-gaap:RestrictedCashEquivalents>
    <us-gaap:RestrictedCashEquivalents
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="0"
      id="F_3bc39413-c77b-4039-957e-58a8d007bc29"
      unitRef="U_USD">95000</us-gaap:RestrictedCashEquivalents>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="0"
      id="F_20da6fee-8ab9-4151-b40d-cacf740be566"
      unitRef="U_USD">40000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:RestrictedCashAndCashEquivalents
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="0"
      id="F_fb62f82a-0657-4424-b375-b92967f39b82"
      unitRef="U_USD">40000</us-gaap:RestrictedCashAndCashEquivalents>
    <us-gaap:PrepaidExpenseAndOtherAssetsNoncurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="0"
      id="F_16f0a21d-42d3-41b4-946c-43657f24b09f"
      unitRef="U_USD">55000</us-gaap:PrepaidExpenseAndOtherAssetsNoncurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsNoncurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="0"
      id="F_3fef1964-8f5c-41ec-b9c4-797e4f9a527b"
      unitRef="U_USD">55000</us-gaap:PrepaidExpenseAndOtherAssetsNoncurrent>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_79b1d27e-2310-453d-abe0-7fdec246c6cb">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Note 5. Inventory&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Inventories are comprised of the following (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:49.34%;"&gt;&lt;/td&gt;
        &lt;td style="width:6.28%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:19.22%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.84%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:19.32%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Raw materials&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;487&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;661&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Finished goods&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,657&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,742&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,144&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,403&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Consigned inventories, which are included in total inventories, are comprised of the following (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:49.46%;"&gt;&lt;/td&gt;
        &lt;td style="width:6.04%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:19.4%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:19.38%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Raw materials&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;459&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;558&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Finished goods&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,508&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;598&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total Consigned Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,967&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,156&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
    <airg:ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_0dbdc7eb-8d90-4c8d-afa2-1329085b7687">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Inventories are comprised of the following (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:49.34%;"&gt;&lt;/td&gt;
        &lt;td style="width:6.28%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:19.22%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.84%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:19.32%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Raw materials&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;487&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;661&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Finished goods&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,657&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,742&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,144&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #000000;white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,403&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Consigned inventories, which are included in total inventories, are comprised of the following (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:49.46%;"&gt;&lt;/td&gt;
        &lt;td style="width:6.04%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:19.4%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:19.38%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Raw materials&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;459&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;558&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Finished goods&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,508&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;598&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:top;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total Consigned Inventory&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,967&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,156&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</airg:ScheduleOfInventoryAndConsignedInventoriesCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsAndSupplies
      contextRef="C_c7b51bbf-4036-496f-b649-0a51a6f2430a"
      decimals="-3"
      id="F_91163f43-1e25-47df-8263-357c7f910f13"
      unitRef="U_USD">487000</us-gaap:InventoryRawMaterialsAndSupplies>
    <us-gaap:InventoryRawMaterialsAndSupplies
      contextRef="C_b1218745-a548-435b-8858-f81a78fcd512"
      decimals="-3"
      id="F_a97d8db8-6c68-49d6-9280-2adaaf9dd23b"
      unitRef="U_USD">661000</us-gaap:InventoryRawMaterialsAndSupplies>
    <us-gaap:InventoryFinishedGoods
      contextRef="C_c7b51bbf-4036-496f-b649-0a51a6f2430a"
      decimals="-3"
      id="F_8ee4b461-6bc6-49e8-a7de-e7d8f9e780e4"
      unitRef="U_USD">2657000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="C_b1218745-a548-435b-8858-f81a78fcd512"
      decimals="-3"
      id="F_8060f375-6867-4740-9cb2-5d68adf40ab0"
      unitRef="U_USD">1742000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryNet
      contextRef="C_c7b51bbf-4036-496f-b649-0a51a6f2430a"
      decimals="-3"
      id="F_deb1b7c9-23f1-4c09-a033-085c5cd19858"
      unitRef="U_USD">3144000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="C_b1218745-a548-435b-8858-f81a78fcd512"
      decimals="-3"
      id="F_f07356e4-4a83-4125-a50f-8a50137f36ff"
      unitRef="U_USD">2403000</us-gaap:InventoryNet>
    <us-gaap:InventoryRawMaterialsAndSupplies
      contextRef="C_cad2f106-8993-4864-8850-b5761cd56414"
      decimals="-3"
      id="F_18973a9c-3d81-480f-bb50-e57f04d25f14"
      unitRef="U_USD">459000</us-gaap:InventoryRawMaterialsAndSupplies>
    <us-gaap:InventoryRawMaterialsAndSupplies
      contextRef="C_e2ee1d69-1df5-4dbe-ad5e-89d1d5f0cb18"
      decimals="-3"
      id="F_acea00b0-fb3b-4f06-9857-a94c5d78faaf"
      unitRef="U_USD">558000</us-gaap:InventoryRawMaterialsAndSupplies>
    <us-gaap:InventoryFinishedGoods
      contextRef="C_cad2f106-8993-4864-8850-b5761cd56414"
      decimals="-3"
      id="F_653dbbf7-0dbd-4f8c-a46b-76e3364280d3"
      unitRef="U_USD">1508000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="C_e2ee1d69-1df5-4dbe-ad5e-89d1d5f0cb18"
      decimals="-3"
      id="F_496d4e66-4f68-40a7-a220-d8e46e9c25df"
      unitRef="U_USD">598000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryNet
      contextRef="C_cad2f106-8993-4864-8850-b5761cd56414"
      decimals="-3"
      id="F_6d2ae124-a8be-4bdc-9243-8cd7f2c185ce"
      unitRef="U_USD">1967000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="C_e2ee1d69-1df5-4dbe-ad5e-89d1d5f0cb18"
      decimals="-3"
      id="F_98a96753-e9ad-4e14-ba58-3ebefa0acb21"
      unitRef="U_USD">1156000</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_13f2fb37-ee47-4540-abe2-cbde61e36881">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Note 6. Property and Equipment&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Depreciation and amortization of property and equipment is calculated on the straight-line method based on the shorter of the estimated useful life or the term of the lease for tenant improvements and three to ten years for all other property and equipment. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Property and equipment consist of the following (in thousands)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:61%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:16.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.88%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Manufacturing and testing equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,507&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,371&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Leasehold improvements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;848&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;848&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Computers and software&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;550&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;811&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Furniture, fixtures, and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;427&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;427&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Vehicles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Construction in process&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Property and equipment, gross&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,417&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,557&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Less accumulated depreciation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,050&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Property and equipment, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,507&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Depreciation expense was &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million and &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million for the three months ended June 30, 2024 and 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;, respectively.&lt;/span&gt;&lt;/p&gt;</us-gaap:PropertyPlantAndEquipmentAndIntangibleAssetsTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_33cdf038-a2f5-4f3c-8c38-ff4a0a7ef625">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Property and equipment consist of the following (in thousands)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;:&lt;/span&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:61%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:16.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.88%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Manufacturing and testing equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,507&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,371&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Leasehold improvements&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;848&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;848&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Computers and software&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;550&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;811&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Furniture, fixtures, and equipment&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;427&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;427&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Vehicles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;55&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Construction in process&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Property and equipment, gross&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,417&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,557&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Less accumulated depreciation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,197&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,050&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Property and equipment, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,507&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_f18ff514-9b71-47b3-a852-bdc092deb181"
      decimals="-3"
      id="F_15f299d3-fe43-4ec8-a63f-feab3744137a"
      unitRef="U_USD">5507000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_c3558740-5177-4303-925a-741d67251b64"
      decimals="-3"
      id="F_6f17575a-58bd-4b1e-a1a2-cc022e07cbe8"
      unitRef="U_USD">5371000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_74f8e6e7-cb0d-4dc0-adb4-e8d589f85fd2"
      decimals="-3"
      id="F_278b4e38-d1e8-4d6c-bac1-a60c2f863530"
      unitRef="U_USD">848000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_a7de98d0-f87d-4aed-bbbc-55335506faeb"
      decimals="-3"
      id="F_5dd5084c-e192-4807-966b-9a7d3181b122"
      unitRef="U_USD">848000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_1f06fa80-da98-4168-83d9-fd00ba7c309d"
      decimals="-3"
      id="F_4a6031b6-3f4c-4fc2-840d-3b5aaf738f62"
      unitRef="U_USD">550000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_1f7cd16b-5932-40b4-965b-574b1c66ea26"
      decimals="-3"
      id="F_04dffba8-b383-42fe-8093-bb14498a9f51"
      unitRef="U_USD">811000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_32900feb-cb63-4ffc-983d-11813814d34e"
      decimals="-3"
      id="F_e4666b4d-f038-473c-b3d8-b5cd9373a724"
      unitRef="U_USD">427000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_976ca171-b836-4a71-a94e-1b3170ade920"
      decimals="-3"
      id="F_98d10184-4ea6-4eaf-b7f4-c01102f08366"
      unitRef="U_USD">427000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_04b64740-56af-4312-9a6c-2a8ec8130d7f"
      decimals="-3"
      id="F_38400a9d-2f5e-4574-9a0b-04ba908b3bb2"
      unitRef="U_USD">55000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_e62c79c8-aad7-473f-ae37-eb4df80fca2e"
      decimals="-3"
      id="F_702af361-7b7f-43b7-84b0-f009e9471cb2"
      unitRef="U_USD">55000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_fc54f691-20ce-46f0-8746-2c0b4b77f54b"
      decimals="-3"
      id="F_18bf91b6-7095-476b-9e1d-d245eea7d8b9"
      unitRef="U_USD">30000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_080f94c2-9831-4b0b-a458-2967a24b61c5"
      decimals="-3"
      id="F_bd94953f-fd82-4ae7-88f1-8c1a80375c20"
      unitRef="U_USD">45000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_3b9ecd2f-d874-4c4d-b67d-a8165969cdd4"
      unitRef="U_USD">7417000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_4d7db8de-b075-4ce5-8a02-216c4fed4938"
      unitRef="U_USD">7557000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_194c9d59-c743-4d92-a4e3-c568c965940c"
      unitRef="U_USD">5197000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_177007bb-bddb-4c04-bd24-11a7dcd5cddc"
      unitRef="U_USD">5050000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_b0d1c683-6f1e-4692-be88-f9d9b9a98528"
      unitRef="U_USD">2220000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_7476b0b8-0485-4548-816c-cb0d9ec70e7e"
      unitRef="U_USD">2507000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Depreciation
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-5"
      id="F_0d73821f-338c-425a-9dbf-2eb3ed7bb142"
      unitRef="U_USD">100000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-5"
      id="F_4baf1ee6-c706-4ec4-9828-ba3d30af6082"
      unitRef="U_USD">200000</us-gaap:Depreciation>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_3860d13c-e173-4edc-b95f-a0f6886147c7">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Note 7. Intangible Assets and Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Other Intangible Assets&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following is a summary of the Company&#x2019;s acquired other&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; intangible assets (dollars in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:29.7%;"&gt;&lt;/td&gt;
        &lt;td style="width:2%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.32%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.76%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="12" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Weighted average amortization period (in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Gross carrying amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Accumulated amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Net carrying amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Market related intangibles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,820&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,304&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;516&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,780&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,130&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Developed technologies&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,380&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,795&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,585&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Covenants to non-compete&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total intangible assets, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,095&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,344&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,751&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:31%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.34%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.66%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="12" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Weighted average amortization period (in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Gross carrying amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Accumulated amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Net carrying amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Market related intangibles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,820&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;685&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,780&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,993&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,787&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Developed technologies&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,380&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,618&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,762&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Covenants to non-compete&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total intangible assets, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,095&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,861&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,234&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Amortization expense was &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; for each of the three months ended June 30, 2024 and 2023.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Estimated annual amortization of intangible assets for the next five years and thereafter is shown in the foll&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;owing table (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.22%;"&gt;&lt;/td&gt;
        &lt;td style="width:3.1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:30.68%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Estimated future amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;2024 (remaining six months)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,484&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;2025&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,958&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;557&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;2027&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;356&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Thereafter&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,396&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,751&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Actual amortization expense to be reported in future periods could differ from these estimates as a result of acquisitions, divestitures, and asset impairments, among other factors.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;No&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; impairment losses were recorded against the other intangibles during each of the &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;three months ended June 30, 2024 and 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;During the fourth quarter of 2023 and second quarter of 2024, the Company determined that there were no triggering events or circumstances to indicate that the carrying value of the finite-lived asset group may not be recoverable. Based on the assessment performed, we concluded that an impairment charge to finite-lived intangible assets was not required as of December 31, 2023 and June 30, 2024 and the useful lives remain appropriate.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Goodwill&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;No&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; impairment losses were recorded against the goodwill during the &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;three months ended June 30, 2024 and 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;During the fourth quarter of 2023 and second quarter of 2024, the Company's current and expected cash flows, and the macro-economic and industry conditions have not significantly changed, while the Company&#x2019;s market capitalization materially increased since December 31, 2023. After assessing the totality of events or circumstances, the Company determined that there were no events or circumstances in the fourth quarter of 2023 and second quarter of 2024 that indicated that the fair value of a reporting unit is more likely than not less than its carrying amount. Therefore, an impairment charge to goodwill was not required as of December 31, 2023 and June 30, 2024.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Certain future events and circumstances could result in changes to our assumptions and judgments used in the impairment tests. A downward revision of these assumptions could cause the total fair value of our goodwill and intangible assets to fall below carrying values and a non-cash impairment charge would be required. Such a charge may have a material effect on the consolidated financial statements.&lt;/span&gt;&lt;/p&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_be8d9d0a-2346-42be-9bc2-36e92b6c6779">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following is a summary of the Company&#x2019;s acquired other&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; intangible assets (dollars in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:29.7%;"&gt;&lt;/td&gt;
        &lt;td style="width:2%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.32%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.76%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.12%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="12" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Weighted average amortization period (in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Gross carrying amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Accumulated amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Net carrying amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Market related intangibles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,820&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,304&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;516&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,780&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,130&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,650&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Developed technologies&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,380&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,795&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,585&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Covenants to non-compete&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total intangible assets, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,095&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,344&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,751&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:31%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.34%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13.66%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="12" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Weighted average amortization period (in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Gross carrying amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Accumulated amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Net carrying amount&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Market related intangibles&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,820&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,135&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;685&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Customer relationships&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,780&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,993&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,787&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Developed technologies&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,380&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,618&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,762&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Covenants to non-compete&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total intangible assets, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20,095&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,861&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,234&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_de43bcee-a258-444f-bdd6-df8b22af0192"
      id="F_1451c49c-53c5-4715-8080-26d42c31b6d4">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_de43bcee-a258-444f-bdd6-df8b22af0192"
      decimals="-3"
      id="F_0acb443f-8ba7-4b5a-b8c1-3c809e4082d3"
      unitRef="U_USD">1820000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_de43bcee-a258-444f-bdd6-df8b22af0192"
      decimals="-3"
      id="F_fd037d3d-60cf-4d0b-b5c6-e2adf381fc4e"
      unitRef="U_USD">1304000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_de43bcee-a258-444f-bdd6-df8b22af0192"
      decimals="-3"
      id="F_b36bf755-37eb-4261-bfb3-68c4fbfbd42b"
      unitRef="U_USD">516000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_748226f9-cdbd-4102-bf2d-ef43cd5a1fff"
      id="F_0e59f03c-38d7-4cf6-8fb4-5b23499d8f78">P7Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_748226f9-cdbd-4102-bf2d-ef43cd5a1fff"
      decimals="-3"
      id="F_780d54e4-5950-4429-975b-4ee92a84e35e"
      unitRef="U_USD">13780000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_748226f9-cdbd-4102-bf2d-ef43cd5a1fff"
      decimals="-3"
      id="F_667e0d3e-c05a-4f9f-8a1c-9fb1a247164f"
      unitRef="U_USD">10130000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_748226f9-cdbd-4102-bf2d-ef43cd5a1fff"
      decimals="-3"
      id="F_647de716-8d84-4eb2-8792-75e6bfc94ac3"
      unitRef="U_USD">3650000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_fe906bb9-5790-4cb8-9fc5-b5569132b0cc"
      id="F_7c24690f-7d79-4b23-a602-c64169db6200">P11Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_fe906bb9-5790-4cb8-9fc5-b5569132b0cc"
      decimals="-3"
      id="F_97fef016-0a5a-4082-8e8a-5fad00479922"
      unitRef="U_USD">4380000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_fe906bb9-5790-4cb8-9fc5-b5569132b0cc"
      decimals="-3"
      id="F_c8c8269a-eb90-45e9-8fc4-4b513130ed41"
      unitRef="U_USD">1795000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_fe906bb9-5790-4cb8-9fc5-b5569132b0cc"
      decimals="-3"
      id="F_93ed806a-3e25-4218-a65e-11923f319cce"
      unitRef="U_USD">2585000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_082140e5-b0f6-48a7-ad76-9b55d9594f79"
      id="F_e98e4a90-2d9c-4008-bf04-e6e2f1a0a499">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_082140e5-b0f6-48a7-ad76-9b55d9594f79"
      decimals="-3"
      id="F_fc8ca286-66ef-41fe-959f-d4b2033e16f2"
      unitRef="U_USD">115000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_082140e5-b0f6-48a7-ad76-9b55d9594f79"
      decimals="-3"
      id="F_238665fa-d40f-4c87-80b8-9a6e57d9b22c"
      unitRef="U_USD">115000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_082140e5-b0f6-48a7-ad76-9b55d9594f79"
      decimals="-3"
      id="F_c0d8223f-29fc-4f6d-832b-5a1a7cb77b5b"
      unitRef="U_USD">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_bdfcfb5b-6309-43f0-ae6d-8566c9e8a1bd"
      unitRef="U_USD">20095000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_02438afb-aebe-45fe-ab54-c22705965971"
      unitRef="U_USD">13344000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_53b51acc-e100-4dfb-9d8f-31535c55495e"
      unitRef="U_USD">6751000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_480ad527-3492-4e13-869f-57533d7af10f"
      id="F_028b35cb-2f1d-493e-9ef2-ccdcd8cdba20">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_480ad527-3492-4e13-869f-57533d7af10f"
      decimals="-3"
      id="F_465e0756-1fde-46e9-9196-cbf36559b371"
      unitRef="U_USD">1820000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_480ad527-3492-4e13-869f-57533d7af10f"
      decimals="-3"
      id="F_8de9498a-131b-4bbf-8547-8556dd0d2eb2"
      unitRef="U_USD">1135000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_480ad527-3492-4e13-869f-57533d7af10f"
      decimals="-3"
      id="F_abe85fa6-517d-446a-aab6-26eb86872b2d"
      unitRef="U_USD">685000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_a2b3b19c-2261-47e7-9722-24a11aa4ce75"
      id="F_21b1253e-0a88-49bf-9451-e30bc5bbd48b">P7Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_a2b3b19c-2261-47e7-9722-24a11aa4ce75"
      decimals="-3"
      id="F_3febbc94-72cb-4bd8-b1f6-698b17e05b1f"
      unitRef="U_USD">13780000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_a2b3b19c-2261-47e7-9722-24a11aa4ce75"
      decimals="-3"
      id="F_b118d2f5-a561-4c9b-94fb-86f84d62d161"
      unitRef="U_USD">8993000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_a2b3b19c-2261-47e7-9722-24a11aa4ce75"
      decimals="-3"
      id="F_39e6f38c-9aa5-424a-a994-04a33f7acfe4"
      unitRef="U_USD">4787000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_690fe95f-91a2-467c-989b-6dadb97f55d2"
      id="F_a5ac9ccd-4ee5-4559-9eca-741bc46169e3">P11Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_690fe95f-91a2-467c-989b-6dadb97f55d2"
      decimals="-3"
      id="F_7a9a1309-f809-4625-89c0-65a648426640"
      unitRef="U_USD">4380000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_690fe95f-91a2-467c-989b-6dadb97f55d2"
      decimals="-3"
      id="F_fa8feca9-4247-4a41-8262-b33d66971065"
      unitRef="U_USD">1618000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_690fe95f-91a2-467c-989b-6dadb97f55d2"
      decimals="-3"
      id="F_7719d4d5-1447-408f-947a-d7ea3e9209e0"
      unitRef="U_USD">2762000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="C_341efb3e-fe01-4b72-847e-336c78246d89"
      id="F_9b5233f6-5b13-431a-ac2e-17c5ae6d793e">P2Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_341efb3e-fe01-4b72-847e-336c78246d89"
      decimals="-3"
      id="F_a5303588-53dd-4c4a-95d6-19b24e31d644"
      unitRef="U_USD">115000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_341efb3e-fe01-4b72-847e-336c78246d89"
      decimals="-3"
      id="F_b6289496-db7f-494b-9b0a-f2826b30a2ae"
      unitRef="U_USD">115000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_341efb3e-fe01-4b72-847e-336c78246d89"
      decimals="-3"
      id="F_555f9310-f45c-4f62-9160-85666bd34a76"
      unitRef="U_USD">0</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_e303b0ec-e2b2-43ea-bd7a-7dad5fd33079"
      unitRef="U_USD">20095000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_8d511ea1-50a5-49d8-9891-80f0aa89c5b3"
      unitRef="U_USD">11861000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_37113799-ed5e-4c77-a820-aff4dad163d9"
      unitRef="U_USD">8234000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-5"
      id="F_9c87e8d1-f3b8-4681-8e5e-6783f0efb5ed"
      unitRef="U_USD">700000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-5"
      id="F_bb265583-eede-4f74-b10a-da624d6f8dcd"
      unitRef="U_USD">700000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_0cda884c-a03b-4d7d-87a2-44f49ac65d7f">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Estimated annual amortization of intangible assets for the next five years and thereafter is shown in the foll&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;owing table (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:64.22%;"&gt;&lt;/td&gt;
        &lt;td style="width:3.1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:30.68%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Estimated future amortization&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:middle;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;2024 (remaining six months)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,484&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;2025&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,958&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;557&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;2027&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;356&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Thereafter&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,396&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,751&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_71cd621e-0d12-48be-a47e-783766fee39a"
      unitRef="U_USD">1484000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_3194e8c2-9390-40de-8c9d-73ec1a2ea1a8"
      unitRef="U_USD">2958000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_a3560666-a53f-4e96-9f58-25a830a2f7fb"
      unitRef="U_USD">557000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_bbc4405b-abae-4c09-9258-7b96ef334c5e"
      unitRef="U_USD">356000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_9424a128-6c56-412e-99b8-1a5c473540a1"
      unitRef="U_USD">1396000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_e020265e-a2d5-4495-8122-01326259e6c7"
      unitRef="U_USD">6751000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_ff982639-3516-4fea-a509-8588d24188d8"
      unitRef="U_USD">0</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_8517700d-ccc4-4fe6-96ed-6b727287d807"
      unitRef="U_USD">0</us-gaap:ImpairmentOfIntangibleAssetsExcludingGoodwill>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_7ed4173c-9710-49d6-9280-c710658f4a89"
      unitRef="U_USD">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_d0034c06-b827-4a35-9332-6e51da5c3e5b"
      unitRef="U_USD">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_38d973a0-3700-4e09-be8f-03d5d4a1063e">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;No&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;t&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;e 8. Accrued Liabilities and Other&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Accrued liabilities and other is comprised of the follo&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;wing (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:55.32%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.14%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:16.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.14%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:21.58%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Accrued expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,150&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,031&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;VAT payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;339&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Accrued income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;145&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Advanced payments from contract manufacturers&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Contract liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Goods received not invoiced&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;883&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;185&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Other current liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;209&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Accrued liabilities and other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,287&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,926&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
    <us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_70df0960-3b27-4abc-b1ec-32f51432e7e2">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Accrued liabilities and other is comprised of the follo&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;wing (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:55.32%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.14%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:16.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.14%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:21.58%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Accrued expenses&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,150&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,031&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;VAT payable&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;339&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Accrued income taxes&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;38&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;145&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Advanced payments from contract manufacturers&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Contract liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Goods received not invoiced&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;883&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;185&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Other current liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;186&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;209&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Accrued liabilities and other&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,287&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,926&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfAccountsPayableAndAccruedLiabilitiesTableTextBlock>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_c423f9ed-bb6c-4445-a9a2-69b9afb3d919"
      unitRef="U_USD">1150000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_d7062b82-2e8a-4183-8c58-67ae920c7c19"
      unitRef="U_USD">1031000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:SalesAndExciseTaxPayableCurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_c804f835-74b7-498e-936e-b1c83cf3eb20"
      unitRef="U_USD">0</us-gaap:SalesAndExciseTaxPayableCurrent>
    <us-gaap:SalesAndExciseTaxPayableCurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_76d3442c-7a4c-4651-8cea-bd81cd77f2c3"
      unitRef="U_USD">339000</us-gaap:SalesAndExciseTaxPayableCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_cfb92c22-c18c-4e3e-bfb7-20175620402d"
      unitRef="U_USD">38000</us-gaap:AccruedIncomeTaxesCurrent>
    <us-gaap:AccruedIncomeTaxesCurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_85e425f4-84ec-4924-82e1-3fad699f3a86"
      unitRef="U_USD">145000</us-gaap:AccruedIncomeTaxesCurrent>
    <airg:AdvancedPaymentsFromContractManufacturers
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_72bd8032-2f2a-4322-b508-3817b09a2c02"
      unitRef="U_USD">30000</airg:AdvancedPaymentsFromContractManufacturers>
    <airg:AdvancedPaymentsFromContractManufacturers
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_e466293b-8933-4fe2-8426-99b945bbce0b"
      unitRef="U_USD">0</airg:AdvancedPaymentsFromContractManufacturers>
    <airg:ContractLiabilitiesCurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_7948a893-f932-4315-bdc9-05fa8adff036"
      unitRef="U_USD">0</airg:ContractLiabilitiesCurrent>
    <airg:ContractLiabilitiesCurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_e5e62c64-0b79-4477-99f2-9232beffd817"
      unitRef="U_USD">17000</airg:ContractLiabilitiesCurrent>
    <airg:GoodsReceivedNotInvoiced
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_f1f37cd6-9a7c-419f-8427-0b033c52e0ae"
      unitRef="U_USD">883000</airg:GoodsReceivedNotInvoiced>
    <airg:GoodsReceivedNotInvoiced
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_c6a1b886-262e-49e1-8333-bfe15efd776f"
      unitRef="U_USD">185000</airg:GoodsReceivedNotInvoiced>
    <us-gaap:OtherLiabilities
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_e30215e2-78d1-4106-a01f-749dfcc9fd09"
      unitRef="U_USD">186000</us-gaap:OtherLiabilities>
    <us-gaap:OtherLiabilities
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_a9e16036-ec79-452f-824f-04cea51f6772"
      unitRef="U_USD">209000</us-gaap:OtherLiabilities>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_c5c701fd-bd63-4d48-a72c-68a676f0e0a0"
      unitRef="U_USD">2287000</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:AccruedLiabilitiesAndOtherLiabilities
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_e7f96ebe-003e-4de0-8637-a15a55efe459"
      unitRef="U_USD">1926000</us-gaap:AccruedLiabilitiesAndOtherLiabilities>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_1ca148ce-e817-4703-86df-5027b240a747">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Note 9. Leases&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Operating Leases&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company made certain assumptions and judgments when applying ASC 842 and it elected not to recognize right-of-use assets and lease liabilities for short-term leases (lease terms of twelve months or less).&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Operating lease arrangements primarily consist of office, warehouse and test house leases expiring during different years through &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="-sec-ix-hidden:F_c9121012-3123-46d1-bae5-a4da06668ebe;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;2025&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;. The facility leases have original terms of approximately &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="-sec-ix-hidden:F_cc054951-6da5-4631-b3a8-345e431eada7;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;one &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;to &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;five years&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; and may contain options to extend up to &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;5 years&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; and/or terminate early. Options to extend are included in leased right-of-use assets and lease liabilities in the consolidated balance sheet when we are reasonably certain to renew a lease. Since the implicit rate of such leases is unknown and we may not be reasonably certain to renew leases, the Company elected to apply a collateralized incremental borrowing rate to facility leases on the original lease term in calculating the present value of future lease payments. As of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024 and December 31, 2023, the weighted average discount rate for operating leases were &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;, respectively. As of June 30, 2024 and December 31, 2023, the weighted average remaining lease term for operating leases was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;1.4&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; years and &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;1.8&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;years, respectiv&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;ely.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company has entered into various short-term operating leases, primarily for test houses and office equipment with initial terms of 12 months or less. These short-term leases are not recorded on the Company&#x2019;s consolidated balance sheet, and the related short-term lease expense was &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;13,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; and &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;, for the three months ended June 30, 2024 and 2023, respectively. Total operating lease cost was &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million for each of the three months ended June 30, 2024 and 2023.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The table below presents aggregate future minimum payments due under leases, reconciled to lease liabilities included in the consolidated balance sheet as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024 (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.233%;"&gt;&lt;/td&gt;
        &lt;td style="width:6.641%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:25.125%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Estimated future lease obligation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;2024 (remaining six months)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;2025&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;785&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total minimum payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,292&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Less imputed interest&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;39&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Less unrealized translation gain&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,251&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Less short-term lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;881&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Long-term lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;370&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LessorOperatingLeaseTermOfContract
      contextRef="C_54e3c8fa-7281-4931-af34-fe9db0bcfd04"
      id="F_aadbc9d4-3a13-4a08-8406-13b27edd2172">P5Y</us-gaap:LessorOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseOptionToExtend
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_5cb6020a-141e-4320-acad-6d5723b2f4d1">5 years</us-gaap:LesseeOperatingLeaseOptionToExtend>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="3"
      id="F_e95eff63-45d9-43de-8a0c-07e8707d03b5"
      unitRef="U_pure">0.044</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="3"
      id="F_e01649b0-df7d-43e0-973a-a4153a49c4e2"
      unitRef="U_pure">0.038</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      id="F_4564870f-f79b-4bdf-9b7f-28675d2e5e68">P1Y4M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      id="F_b80820db-5c0a-46f7-a7de-294aae9c5de9">P1Y9M18D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:ShortTermLeaseCost
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="0"
      id="F_1e694a38-7d60-48a4-90ed-d8c1893350d5"
      unitRef="U_USD">13000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="0"
      id="F_ff616a48-a805-4ca6-a3c6-4a2e84813a26"
      unitRef="U_USD">27000</us-gaap:ShortTermLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-5"
      id="F_c4848ffb-0907-4471-a5f8-cba83b15a793"
      unitRef="U_USD">200000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-5"
      id="F_b7ec0c1d-b2dd-4d4b-8f9a-9739064cf39e"
      unitRef="U_USD">200000</us-gaap:OperatingLeaseCost>
    <airg:ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_941a1d2a-e226-4ee7-b845-84f7c31eb1c5">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The table below presents aggregate future minimum payments due under leases, reconciled to lease liabilities included in the consolidated balance sheet as of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024 (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:66.233%;"&gt;&lt;/td&gt;
        &lt;td style="width:6.641%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:25.125%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Estimated future lease obligation&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;2024 (remaining six months)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;471&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;2025&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;785&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;2026&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;36&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total minimum payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,292&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Less imputed interest&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;39&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Less unrealized translation gain&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,251&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Less short-term lease liabilities&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;881&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Long-term lease liability&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;370&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</airg:ScheduleOfFutureMinimumRentalPaymentsForOperatingAndFinancingLeasesTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_074cd570-980d-4e92-9506-2f1e5a1df574"
      unitRef="U_USD">471000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_18159f4b-c408-4e87-a3f6-fe629f332d37"
      unitRef="U_USD">785000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_6b403194-27bb-43bb-8153-3862a84382a2"
      unitRef="U_USD">36000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_5c7f05ec-f1f5-40ea-a528-6617468d73c2"
      unitRef="U_USD">1292000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_6f20ead6-b183-48d9-a2d3-a27cfe6d35a3"
      unitRef="U_USD">39000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <airg:UnrealizedTranslationGain
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_491f7730-1eb8-4283-a961-a020fb388238"
      unitRef="U_USD">-2000</airg:UnrealizedTranslationGain>
    <us-gaap:OperatingLeaseLiability
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_7f9eb500-671d-4c31-bee2-62719edb362f"
      unitRef="U_USD">1251000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_ccde4a52-6d51-4a12-b78d-bcffd8b9194f"
      unitRef="U_USD">881000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_99ad0e6a-fc0b-4e65-9755-12be1095ca74"
      unitRef="U_USD">370000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_39f97a8a-9bf4-423a-bd9a-00201f07f79e">&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Note 10. Income Taxes&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company&#x2019;s effective income tax rate was &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; and &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;-&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; for the six months ended June 30, 2024 and 2023, respectively. The variance from the U.S. federal statutory rate of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;21.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; for the six months ended June 30, 2024 was primarily attributable to the utilization of deferred tax attributes that had a full valuation allowance.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Management assesses its deferred tax assets quarterly to determine whether all or any portion of the asset is more likely than not unrealizable under Accounting Standards Codification (ASC) Topic 740. The Company is required to establish a valuation allowance for any portion of the asset that management concludes is more likely than not to be unrealizable.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The ultimate realization of deferred tax assets is dependent upon the generation of future taxable income during the periods in which those temporary differences become deductible. The Company&#x2019;s assessment considers all evidence, both positive and negative, including the nature, frequency and severity of any current and cumulative losses, taxable income in carryback years, the scheduled reversal of deferred tax liabilities, tax planning strategies, and projected future taxable income in making this assessment.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;As of December 31, 2023, the Company had a valuation allowance against net deferred tax assets of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;14.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million, however, the exclusion of a deferred tax liability generated by goodwill (an indefinite lived intangible) may not be considered a future source of taxable income in evaluating the need for a valuation allowance.&lt;/span&gt;&lt;/p&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="3"
      id="F_1a07f199-caeb-4a5b-a5a4-83ed8b3c9931"
      unitRef="U_pure">0.021</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="3"
      id="F_a885e1e6-f916-42b7-bf75-b13eaa9ec7f0"
      unitRef="U_pure">-0.016</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="3"
      id="F_875ecbee-4224-4d14-ba30-1de0f7cc5785"
      unitRef="U_pure">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-5"
      id="F_5ff6c562-1491-421d-b920-37fa557fac6d"
      unitRef="U_USD">14600000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_3fe4ec32-fb1c-4628-b770-f13f6e6e6d33">&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Note 11. Stockholders&#x2019; Equity&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;In August 2016, the Company's Board adopted the 2016 Equity Incentive Plan (the 2016 Plan) for employees, directors and consultants. In February 2021, the Board adopted the 2021 Employment Inducement Incentive Award Plan (Inducement Plan), which provides for grants of equity-based awards.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table presents common stock reserved for &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;future issuance&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Arial;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:60%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Stock options issued and outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,482&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,104&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Stock awards issued and outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,041&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;817&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Authorized for grants under the 2016 Plan&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;"&gt;(2)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;448&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Authorized for grants under the Inducement Plan&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;"&gt;(3)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;174&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Authorized for grants under the 2016 Employee Stock Purchase Plan&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;"&gt;(4)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;517&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;540&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,292&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,083&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; The table above excludes &lt;/span&gt;&lt;span style="font-size:8pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;541,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; treasury stock shares as of June 30, 2024 and December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:-2.74%;padding-left:2.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; On January 1, 2024, the number of authorized shares in the 2016 Plan increased by &lt;/span&gt;&lt;span style="font-size:8pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;440,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; shares pursuant to the evergreen provisions of the 2016 Plan.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:-1.351%;padding-left:1.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;"&gt;(3)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; On February 5, 2021, &lt;/span&gt;&lt;span style="font-size:8pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;300,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; shares were authorized pursuant to the terms of the Inducement Plan.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:-2.74%;padding-left:2.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;"&gt;(4) &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt;On January 1, 2024, the number of authorized shares in the 2016 Employee Stock Purchase Plan increased by &lt;/span&gt;&lt;span style="font-size:8pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;100,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; sh&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt;ares pursuant to the evergreen provisions of the 2016 Employee Stock Purchase Plan.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Issuance of Common Stock&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;In March 2024, we established an at-the-market (ATM) offering program to sell up to &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.0&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; of the Company's common stock. As of June 30, 2024, we have &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.7&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; available under the offering program for future sales of our common stock.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company recorded the ATM gross sales proceeds and offering costs in additional paid-in capital of the consolidated balance sheet. &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table summarizes the Company&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#x2019;s ATM sales activity during the period indicated (in thousands):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:49%;"&gt;&lt;/td&gt;
        &lt;td style="width:7%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.74%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:6.66%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.6%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Three Months Ended June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Six Months Ended June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Shares issued&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;505&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;629&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Gross proceeds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,630&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,309&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Net proceeds after offering costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,518&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,006&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <airg:ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_602d5aee-a5e9-42f6-9000-da1d78986344">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table presents common stock reserved for &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;future issuance&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:6.7pt;font-family:Arial;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:60%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Stock options issued and outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,482&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,104&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Stock awards issued and outstanding&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,041&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;817&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Authorized for grants under the 2016 Plan&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;"&gt;(2)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;69&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;448&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Authorized for grants under the Inducement Plan&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;"&gt;(3)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;183&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;174&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Authorized for grants under the 2016 Employee Stock Purchase Plan&lt;/span&gt;&lt;span style="color:#000000;top:-4.6899999999999995pt;white-space:pre-wrap;font-size:6.7pt;font-family:Arial;position:relative;min-width:fit-content;"&gt;(4)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;517&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;540&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,292&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,083&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; The table above excludes &lt;/span&gt;&lt;span style="font-size:8pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;541,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; treasury stock shares as of June 30, 2024 and December 31, 2023&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt;.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:-2.74%;padding-left:2.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;"&gt;(2)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; On January 1, 2024, the number of authorized shares in the 2016 Plan increased by &lt;/span&gt;&lt;span style="font-size:8pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;440,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; shares pursuant to the evergreen provisions of the 2016 Plan.&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:-1.351%;padding-left:1.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;"&gt;(3)&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; On February 5, 2021, &lt;/span&gt;&lt;span style="font-size:8pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;300,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; shares were authorized pursuant to the terms of the Inducement Plan.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:-2.74%;padding-left:2.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;"&gt;(4) &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt;On January 1, 2024, the number of authorized shares in the 2016 Employee Stock Purchase Plan increased by &lt;/span&gt;&lt;span style="font-size:8pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;100,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt; sh&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"&gt;ares pursuant to the evergreen provisions of the 2016 Employee Stock Purchase Plan.&lt;/span&gt;&lt;/p&gt;</airg:ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_8ed3b33d-16c9-4dfa-8951-8386276958f5"
      decimals="-3"
      id="F_df9211b8-ae46-4d10-9c79-ef58a8f6e68a"
      unitRef="U_shares">2482000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_57c6919f-9384-4691-b87d-1f6bfb6c717d"
      decimals="-3"
      id="F_27844e8c-f3e3-4cbb-9141-3e51ead0d079"
      unitRef="U_shares">2104000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_c41a6b24-816d-4625-8226-843b7e0b6f08"
      decimals="-3"
      id="F_f478f454-faa3-40db-8d1a-44312e37bc99"
      unitRef="U_shares">1041000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_a08674a3-8240-4564-9b3e-fb444bd12512"
      decimals="-3"
      id="F_eae259af-6a85-4e84-bc6e-31577e405fcd"
      unitRef="U_shares">817000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_87ae4f4f-83db-4f98-843d-3a2dc8347ab2"
      decimals="-3"
      id="F_e36068b5-0a1a-45a5-9129-d95b9ca6b669"
      unitRef="U_shares">69000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_c39b14e8-88dd-402b-ad71-f085dcba3a41"
      decimals="-3"
      id="F_26957875-1597-4a69-a023-eaf4f7c40b88"
      unitRef="U_shares">448000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_1256b3cf-9b7f-4c0d-99b0-e1b9750725d9"
      decimals="-3"
      id="F_370a21f6-e02c-4745-8777-b381c648ebe1"
      unitRef="U_shares">183000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_8afd67a6-21bc-4aea-bc88-a028179aff26"
      decimals="-3"
      id="F_4ef4dc0b-9f86-42f9-833c-489649d88bf1"
      unitRef="U_shares">174000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_365fcfcb-3555-4411-86f0-1a070d2e4af2"
      decimals="-3"
      id="F_f54f47e3-2b23-4ee2-8ff9-aef37cb7fad3"
      unitRef="U_shares">517000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_0f730fde-c292-4e50-b2fe-040bc977de0b"
      decimals="-3"
      id="F_fba44fcc-f844-4a8f-974d-578e9c2e9dbe"
      unitRef="U_shares">540000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_875b104e-f21d-4d24-b4f4-af869e8e4d8d"
      unitRef="U_shares">4292000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="C_2fca67c5-3c31-4124-84cd-12c3e7566cd4"
      decimals="-3"
      id="F_f7b39257-6ea2-4920-bbb8-afd3f95d4a80"
      unitRef="U_shares">4083000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:TreasuryStockCommonShares
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="INF"
      id="F_b0619aa1-a9ea-4062-ba00-438b6ab4576e"
      unitRef="U_shares">541000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="INF"
      id="F_348563aa-d60a-4f42-85a5-2eaa22156a64"
      unitRef="U_shares">541000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized
      contextRef="C_4d093ac2-9a3f-4acc-8923-f34bbd39eec4"
      decimals="INF"
      id="F_d40cac77-0d25-499e-a8b9-bf2039b803d6"
      unitRef="U_shares">440000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="C_f5c550f5-1153-455f-99ac-1cddcdb6bd95"
      decimals="INF"
      id="F_0f3e8650-250e-41fc-bfbe-dde6eb4fe50e"
      unitRef="U_shares">300000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized
      contextRef="C_1d19cea9-23c5-4939-b613-fa587083cbf3"
      decimals="INF"
      id="F_8c4597c7-35b4-4a4c-9fe5-50f8a3a2a60a"
      unitRef="U_shares">100000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfAdditionalSharesAuthorized>
    <us-gaap:CommonStockValue
      contextRef="C_c4891f8b-64f7-4473-b3f5-a4df34d35fb4"
      decimals="-5"
      id="F_6d90fa8d-a641-4794-9d18-c5ba980a6a85"
      unitRef="U_USD">5000000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="C_120b8152-dc6c-4d14-a177-d9b92844dad3"
      decimals="-5"
      id="F_1b70802a-3349-4fb8-a45c-4f87c607f14c"
      unitRef="U_USD">1700000</us-gaap:CommonStockValue>
    <airg:ScheduleOfTheCompanysAtmSalesActivityTabletextblock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_db6628a7-73c9-4d1f-9e5a-2225e0d7c735">&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table summarizes the Company&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#x2019;s ATM sales activity during the period indicated (in thousands):&lt;/span&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:49%;"&gt;&lt;/td&gt;
        &lt;td style="width:7%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:17.74%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:6.66%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.6%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Three Months Ended June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Six Months Ended June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Shares issued&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;505&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;629&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Gross proceeds&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,630&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,309&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Net proceeds after offering costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,518&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,006&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;</airg:ScheduleOfTheCompanysAtmSalesActivityTabletextblock>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="C_a2f21e0a-510a-4388-a9a6-cd10cc924858"
      decimals="-3"
      id="F_9bfcd5a2-f96c-462e-a80b-64b71b1ef260"
      unitRef="U_shares">505000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:StockIssuedDuringPeriodSharesNewIssues
      contextRef="C_340bce37-8b20-46ff-a728-7d31ba68791b"
      decimals="-3"
      id="F_61ee51b5-a853-4e8f-a558-3b8531497cf7"
      unitRef="U_shares">629000</us-gaap:StockIssuedDuringPeriodSharesNewIssues>
    <us-gaap:SaleOfStockConsiderationReceivedOnTransaction
      contextRef="C_a2f21e0a-510a-4388-a9a6-cd10cc924858"
      decimals="-3"
      id="F_deb793f1-cece-4d3d-814c-1ab818db859e"
      unitRef="U_USD">2630000</us-gaap:SaleOfStockConsiderationReceivedOnTransaction>
    <us-gaap:SaleOfStockConsiderationReceivedOnTransaction
      contextRef="C_340bce37-8b20-46ff-a728-7d31ba68791b"
      decimals="-3"
      id="F_37a49009-8fa1-45a5-872f-9cdd85d05b00"
      unitRef="U_USD">3309000</us-gaap:SaleOfStockConsiderationReceivedOnTransaction>
    <us-gaap:ProceedsFromIssuanceOrSaleOfEquity
      contextRef="C_a2f21e0a-510a-4388-a9a6-cd10cc924858"
      decimals="-3"
      id="F_d293d56c-dd83-445a-93e7-4fa1f55f918b"
      unitRef="U_USD">2518000</us-gaap:ProceedsFromIssuanceOrSaleOfEquity>
    <us-gaap:ProceedsFromIssuanceOrSaleOfEquity
      contextRef="C_340bce37-8b20-46ff-a728-7d31ba68791b"
      decimals="-3"
      id="F_2444668c-110f-4a51-9063-ebc8caeb48f5"
      unitRef="U_USD">3006000</us-gaap:ProceedsFromIssuanceOrSaleOfEquity>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_d3435205-09cf-48f9-95e1-e6efe4aa66ba">&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Note 12&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;. Stock Based Compensation&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:justify;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Stock-Based Compensation Expense&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Stock-based compensation is recorded in the consolidated statements of operations as fol&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;lows (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:36.9%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.66%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Three months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Six months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Cost of goods sold&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;123&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;400&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;280&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;728&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;517&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Sales and marketing&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;75&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;155&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;276&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;General and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;667&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;544&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,247&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,112&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total stock-based compensation expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,207&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,949&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Stock Options&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table summarizes the outstanding stock option activity during the period indi&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;cated (shares in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:40.2%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.86%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.76%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.7%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.34%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.76%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.219999999999999%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Weighted average&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Number of &lt;br/&gt;stock options&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Exercise &lt;br/&gt;price&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Remaining contractual term (in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Aggregate intrinsic value (in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,104&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10.20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.2&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;329&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Granted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;408&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.07&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Exercised&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Expired/Forfeited&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8.28&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,482&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9.40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.4&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,552&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Vested and exercisable at June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,639&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11.12&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.0&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;657&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Vested and expected to vest at June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,482&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9.40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.4&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,552&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The weighted average grant date fair value of options granted during the six months ended June 30, 2024 was &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.82&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;. The grant-date fair value of each option award is estimated on the date of grant using the Black-Scholes-Merton option-pricing model. For stock options vested and expected to vest, the aggregate intrinsic value as of June 30, 2024 was &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.6&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;At June 30, 2024, there was &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million of unrecognized compensation cost related to unvested stock options granted under the Company&#x2019;s equity plans that is expected to be recognized over the next &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;2.5&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; years.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Restricted Stock&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table summarizes the Company&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#x2019;s restricted stock unit (RSU) activity during the period indicated (shares in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:68%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Restricted &lt;br/&gt;stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Weighted average grant date fair value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;706&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.97&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Grants&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;484&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.14&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Vested and released&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;196&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.83&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Forfeited&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;64&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.77&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;930&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.92&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;As of June 30, 2024, there was &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million of total unrecognized compensation cost related to unvested RSUs having a weighted average remaining contractual term of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;2.8&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; years.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Times New Roman;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Performance Stock Units&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table summarizes the Company&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#x2019;s performance stock unit (PSU) activity during the period indicated (shares in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:67.48%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.46%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.8%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.32%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Performance&lt;br/&gt;stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Weighted average grant date fair value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;110&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.79&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Grants&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Vested and released&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Forfeited&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;110&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.79&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Service as well as market and performance conditions determine the number of PSUs that the holder will earn from 0% to 150% of the target number of shares. The per&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;centage received is based on the Company common stock price targets over a three-year service period. Additionally, the Company must achieve or exceed 75% of the year to date revenue target measured at the end of the quarter in which the price target is achieved.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; As of &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024, there was &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10,693&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; of total unrecognized compensation cost related to unvested PSUs, having a weighted average remaining contractual term of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;0.8&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; years.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;We estimate the fair value of PSUs with a market condition using a Monte Carlo simulation model as of the date of grant using historical volatility.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Share-Settled Obligations&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;When incurred, share-settled obligations to non-employees that will be paid in restricted stock units are recorded as accrued expense liability and stock-based compensation expense.&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table summarizes the Company&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#x2019;s share-settled obligation RSU grants, which immediately vested during the period indicated:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:33.987%;"&gt;&lt;/td&gt;
        &lt;td style="width:5.001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.763%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.4%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.502%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:6.101%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:6.941%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:8.782%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:6.521%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;RSU grants that settled obligations (in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Three months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Six months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Grant date fair value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;70.9&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;195.4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;949.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;RSU shares granted and vested&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;187&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Employee Stock Purchase Plan (ESPP)&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company maintains the 2016 Employee Stock Purchase Plan (ESPP) that provides employees an opportunity to purchase common stock through payroll deductions. The ESPP is implemented through consecutive &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;6&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;-month offering periods commencing on March 1 and September 1 of each year. The purchase price is set at &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;85&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;% of the fair market value of the Company&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#x2019;&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;s common stock on either the first or last trading day of the offering period, whichever is lower. Annual contributions are limited to the lower of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;% of an employee&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#x2019;s eligible compensation or such other limits as apply under Section 423 of the Internal Revenue Code. The ESPP is intended to qualify as an employee stock purchase plan for purposes of Section 423 of the Internal Revenue Code.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Based on the &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;% discount and the fair value of the option feature of the ESPP, it is considered compensatory. Compensation expense is calculated using the fair value of the employees&#x2019; purchase rights under the Black-Scholes model. The Company currently uses authorized and unissued shares to satisfy share award exercises.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;During the three months ended June 30, 2024&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;, the Company did &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;no&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;t issue&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; shares under the ESPP. During the six months ended June 30, 2024, the Company received &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million from the issuance of &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22,852&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; shares under the ESPP&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;.&lt;/span&gt;&lt;/p&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_2a429bb3-a0a5-4d17-9711-034e20f33821">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Stock-based compensation is recorded in the consolidated statements of operations as fol&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;lows (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:36.9%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.66%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:11.82%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Three months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Six months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Cost of goods sold&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;65&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;123&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;44&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Research and development&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;400&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;280&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;728&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;517&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Sales and marketing&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;75&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;115&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;155&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;276&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;General and administrative&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;667&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;544&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,247&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,112&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:7pt;white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="margin-left:7pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total stock-based compensation expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,207&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;968&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,253&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,949&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_62fa26ce-ebd1-47b7-a482-008a58de099c"
      decimals="-3"
      id="F_4f595d75-ed77-46c8-b9ec-7480aed49f3f"
      unitRef="U_USD">65000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_bdc7cb5a-8aaa-45e9-97b3-4749711a0bf9"
      decimals="-3"
      id="F_6fe81f8d-e3f3-4b48-8782-aed39fe52a7c"
      unitRef="U_USD">29000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_3425a20e-7c3a-45bd-a497-dee432c9dd9f"
      decimals="-3"
      id="F_08d453cd-345b-42e3-80d0-aaeed2fa9598"
      unitRef="U_USD">123000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_cf4fda84-de4f-452f-bd29-8ec8e091841c"
      decimals="-3"
      id="F_102633fc-ca33-46b9-940c-baa5c0d105ab"
      unitRef="U_USD">44000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_80d7a7a5-b4a0-4933-a935-ffd720765c6f"
      decimals="-3"
      id="F_6149bde4-d96b-47de-9ad6-43bb373c76dd"
      unitRef="U_USD">400000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_68b61dde-321a-404c-abd2-3a34e3cb52ac"
      decimals="-3"
      id="F_c87bb1aa-bf6b-4222-87e3-bb229c284647"
      unitRef="U_USD">280000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_7e1f151e-598d-40c0-b711-c41d33819d44"
      decimals="-3"
      id="F_38318985-f42b-4efd-b3da-0568281db245"
      unitRef="U_USD">728000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_57cd6524-ad06-498c-b8d9-9d9107205839"
      decimals="-3"
      id="F_ed30a9e5-1804-4bba-8068-9863cb2b87ab"
      unitRef="U_USD">517000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_a8e39d89-3e18-4531-b879-ea90204c0cdf"
      decimals="-3"
      id="F_8544cf2f-0e99-4860-9b89-e467b16fe65f"
      unitRef="U_USD">75000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_f516d4b3-b8d5-4a9f-a16e-97e5765eea44"
      decimals="-3"
      id="F_66deffaa-c420-4dc2-8566-f19bd001e7a6"
      unitRef="U_USD">115000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_12a62de7-249e-41b4-89ff-5b260e18ae97"
      decimals="-3"
      id="F_90bf4bff-bc92-4520-97e8-5de4c5901b1f"
      unitRef="U_USD">155000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_bcf875af-7903-400f-8262-96e0b47ff190"
      decimals="-3"
      id="F_76a2b77f-2fd4-484e-b298-938a932cf3a2"
      unitRef="U_USD">276000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_0e69e4a6-67a1-4425-b9cb-60594d2b6d42"
      decimals="-3"
      id="F_3854b2ed-dee3-4dcc-8223-dd6efe4ffe0f"
      unitRef="U_USD">667000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_09a33da6-d065-4b89-8318-235485b3d9cb"
      decimals="-3"
      id="F_8fa461bc-06ad-4d69-a7c5-5794f01fa6ab"
      unitRef="U_USD">544000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_3026f516-70b9-4f50-86eb-9bc1730954df"
      decimals="-3"
      id="F_5529087a-97f1-405b-87eb-5146dd41227f"
      unitRef="U_USD">1247000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_7c5de85f-fa79-4d2e-b506-b07fd48a8fea"
      decimals="-3"
      id="F_249acf08-2de2-425e-8249-3f023d85b42a"
      unitRef="U_USD">1112000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_570650cc-a30e-4d9b-8f9a-d5e0943d1fe0"
      unitRef="U_USD">1207000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_b4ff2da6-bea8-461e-8ffa-7719b0903700"
      unitRef="U_USD">968000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_315aae0b-dcbc-4513-a840-a6fd141fd8d6"
      unitRef="U_USD">2253000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_aa2c6ca2-f646-4e3b-badb-fefd0239746b"
      unitRef="U_USD">1949000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_3ff3efaa-ab8a-4129-b84b-3a36a8a8ef64">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table summarizes the outstanding stock option activity during the period indi&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;cated (shares in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:40.2%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.86%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.76%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.7%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.34%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.16%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.76%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.219999999999999%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Weighted average&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Number of &lt;br/&gt;stock options&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Exercise &lt;br/&gt;price&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Remaining contractual term (in years)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Aggregate intrinsic value (in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,104&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10.20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.2&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;329&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Granted&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;408&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.07&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Exercised&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3.10&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;18&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Expired/Forfeited&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;22&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8.28&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,482&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9.40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.4&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,552&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Vested and exercisable at June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,639&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11.12&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.0&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;657&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Vested and expected to vest at June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,482&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9.40&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.4&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,552&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_b4d3fa29-f9e4-4631-b9ca-ba8cc9212161"
      unitRef="U_shares">2104000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="2"
      id="F_3c2d4cb1-7523-4333-9471-9cf36292ff5c"
      unitRef="U_USDollarShare">10.2</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="C_46837950-affe-4a34-a6b2-44c87b328126"
      id="F_25128e80-a0b9-439a-a9b9-94c955a53fc3">P6Y2M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_e4960ce8-234e-4fa5-b0d4-3bf61258ffbf"
      unitRef="U_USD">329000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_e77cf6db-b829-4c9a-879b-d1ce96359faa"
      unitRef="U_shares">408000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="2"
      id="F_00ee2cbb-9673-4758-8eea-35cce5d3d7d6"
      unitRef="U_USDollarShare">5.07</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_e074524f-70c6-41e7-90bc-1dbd7866a9ac"
      unitRef="U_shares">8000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="2"
      id="F_21c77c6b-c691-4f6a-aad1-907aeba81105"
      unitRef="U_USDollarShare">3.1</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_7d605021-f19e-4a1d-905f-6bff8e8b1303"
      unitRef="U_USD">18000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_d95319b0-5862-43fb-8a27-02cda8b9f0bc"
      unitRef="U_shares">22000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="2"
      id="F_ebdb4b4c-be30-47ee-8747-b5d314ed317c"
      unitRef="U_USDollarShare">8.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_8f163856-3028-4dc1-a457-3652205a62e8"
      unitRef="U_shares">2482000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="2"
      id="F_b1c22e18-1109-4297-8abd-75d02993e6ff"
      unitRef="U_USDollarShare">9.4</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_b8f29003-71ce-469b-947e-60b1c1d88889">P6Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_2ff6466f-fb96-4ecf-aec1-e9c955befc3d"
      unitRef="U_USD">1552000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_cefdcbc5-2472-46c6-9813-7cfbc5a22367"
      unitRef="U_shares">1639000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="2"
      id="F_981d5b62-cd40-441a-b7a2-d21e5d9be7a3"
      unitRef="U_USDollarShare">11.12</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_c41d134d-a6ee-4dbe-a549-21ac0dc97158">P5Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_9c0f131d-afcb-4e48-afbd-0275f4043e77"
      unitRef="U_USD">657000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_027654bb-a2b5-4a12-bbd0-d14dea8d4581"
      unitRef="U_shares">2482000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="2"
      id="F_7f9b9716-398b-4713-9263-99f9fe8a9267"
      unitRef="U_USDollarShare">9.4</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_c12a0634-43a9-44e9-a9d9-3892dfd6ba76">P6Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_b752716c-67e4-4aa3-b07e-41507010fb3d"
      unitRef="U_USD">1552000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_a1fabf1a-d67e-45a9-ba4b-8693f38c7f3d"
      decimals="2"
      id="F_750cf32e-25a7-4294-a3f5-c720dda30f6b"
      unitRef="U_USDollarShare">2.82</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="C_5c05f44a-a76e-43f9-b701-d85ca14f276a"
      decimals="-5"
      id="F_2863dec7-542e-4c50-8e0d-d2681adf9f64"
      unitRef="U_USD">1600000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="C_5c05f44a-a76e-43f9-b701-d85ca14f276a"
      decimals="-5"
      id="F_b7af585b-3e99-493f-ae14-1e78c56c3c15"
      unitRef="U_USD">2400000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="C_a1fabf1a-d67e-45a9-ba4b-8693f38c7f3d"
      id="F_db540a23-70b6-4cf8-9beb-1406c9ef021d">P2Y6M</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_b1300e13-79b3-4e83-9e72-0bb97ecda365">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table summarizes the Company&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#x2019;s restricted stock unit (RSU) activity during the period indicated (shares in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:68%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:13%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Restricted &lt;br/&gt;stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Weighted average grant date fair value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;706&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6.97&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Grants&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;484&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.14&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Vested and released&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;196&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7.83&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Forfeited&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;64&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.77&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;930&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5.92&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="C_647363e2-cd37-4f30-97cc-7379e29198b6"
      decimals="-3"
      id="F_a0471178-a649-4f23-acd3-367d9d51213e"
      unitRef="U_shares">706000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="C_647363e2-cd37-4f30-97cc-7379e29198b6"
      decimals="2"
      id="F_0df379d8-5859-4230-9736-efd1f72c3b8a"
      unitRef="U_USDollarShare">6.97</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b"
      decimals="-3"
      id="F_7adc4e8f-9e94-4d74-b9c0-04188fa5e683"
      unitRef="U_shares">484000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b"
      decimals="2"
      id="F_6b3c2702-0a6b-47b4-b3c7-70e1716cac0c"
      unitRef="U_USDollarShare">5.14</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b"
      decimals="-3"
      id="F_fa3bc119-5547-4b69-85a9-6658407ea03e"
      unitRef="U_shares">196000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b"
      decimals="2"
      id="F_fd3fe1ba-bdc0-4b79-b929-1d8390d6240c"
      unitRef="U_USDollarShare">7.83</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b"
      decimals="-3"
      id="F_5c6cb7b9-63a2-4ba2-a150-fe7dadac8c3c"
      unitRef="U_shares">64000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b"
      decimals="2"
      id="F_9e455755-1a7f-4be1-bd98-5e0db955887d"
      unitRef="U_USDollarShare">5.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="C_22b78f39-4e0e-4151-bb78-29aef703c3ef"
      decimals="-3"
      id="F_7b3f920b-8e55-4d00-ab30-96486faf9201"
      unitRef="U_shares">930000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="C_22b78f39-4e0e-4151-bb78-29aef703c3ef"
      decimals="2"
      id="F_0ea887dd-feb0-43c4-abe2-6e9710012e33"
      unitRef="U_USDollarShare">5.92</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="C_22b78f39-4e0e-4151-bb78-29aef703c3ef"
      decimals="-5"
      id="F_1c6bcf4f-7484-4bb9-b85b-a9b57f8451e8"
      unitRef="U_USD">4200000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms
      contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b"
      id="F_24110b6d-15cb-43d3-a17f-4ae48ffa1c2b">P2Y9M18D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
    <airg:ScheduleOfPerformanceStockUnitTableTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_f47b2977-55f5-4795-971c-6b005236c448">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table summarizes the Company&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#x2019;s performance stock unit (PSU) activity during the period indicated (shares in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:67.48%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.46%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.8%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.94%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.32%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Performance&lt;br/&gt;stock units&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Weighted average grant date fair value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;110&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.79&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Grants&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Vested and released&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Forfeited&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;110&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1.79&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</airg:ScheduleOfPerformanceStockUnitTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="C_06163348-6a9b-4911-8496-b909f45a4cea"
      decimals="-3"
      id="F_018621cf-22e6-478e-9983-ab359ca1267c"
      unitRef="U_shares">110000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="C_06163348-6a9b-4911-8496-b909f45a4cea"
      decimals="2"
      id="F_f13732b5-3a98-4382-9e92-36daeb09ded6"
      unitRef="U_USDollarShare">1.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489"
      decimals="-3"
      id="F_885f6aa5-b062-4f7b-a8fe-0fe43b40d438"
      unitRef="U_shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489"
      decimals="0"
      id="F_725ac3ef-4315-4887-9cc5-c28753b1f0f6"
      unitRef="U_USDollarShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489"
      decimals="-3"
      id="F_deb32a3a-9b36-4d6d-9ee5-f456e1088117"
      unitRef="U_shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489"
      decimals="0"
      id="F_718cfc54-cf11-4da6-9e69-874ea79cd70a"
      unitRef="U_USDollarShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489"
      decimals="-3"
      id="F_c8846534-c043-4e2b-90dc-2cbebf8b78bf"
      unitRef="U_shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489"
      decimals="0"
      id="F_22a32882-d680-417d-b170-a64929040844"
      unitRef="U_USDollarShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="C_d959d453-ae1a-48d4-9cc8-a592be22c074"
      decimals="-3"
      id="F_6179641b-f022-4b67-bcd9-a7e418c36e12"
      unitRef="U_shares">110000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="C_d959d453-ae1a-48d4-9cc8-a592be22c074"
      decimals="2"
      id="F_6faa66eb-d215-4eca-9766-2d4462e3899f"
      unitRef="U_USDollarShare">1.79</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <airg:DescriptionOfPerformanceStockUnit
      contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489"
      id="F_9dfe2618-5044-4f74-8211-63077e122369">Service as well as market and performance conditions determine the number of PSUs that the holder will earn from 0% to 150% of the target number of shares. The percentage received is based on the Company common stock price targets over a three-year service period. Additionally, the Company must achieve or exceed 75% of the year to date revenue target measured at the end of the quarter in which the price target is achieved.</airg:DescriptionOfPerformanceStockUnit>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="C_d959d453-ae1a-48d4-9cc8-a592be22c074"
      decimals="0"
      id="F_1d5a8da3-8d42-4f1f-9fb4-c22961d8d21d"
      unitRef="U_USD">10693</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms
      contextRef="C_9216e87b-086c-4c4c-b8ae-1e8be7ce2489"
      id="F_974cee06-5274-4fbe-a337-2e32d5bf4342">P0Y9M18D</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_4376b78f-2a9f-4be7-9b6e-48e3fafdd396">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table summarizes the Company&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#x2019;s share-settled obligation RSU grants, which immediately vested during the period indicated:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:33.987%;"&gt;&lt;/td&gt;
        &lt;td style="width:5.001%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.763%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.4%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.502%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:6.101%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:6.941%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:8.782%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:6.521%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;RSU grants that settled obligations (in thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Three months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Six months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Grant date fair value&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;70.9&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;195.4&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;949.2&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;RSU shares granted and vested&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;45&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;187&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="C_58e4f120-1efd-4401-8384-861db10be743"
      decimals="-2"
      id="F_8203ffb3-fc94-4141-ab74-3d4ac68c2bf0"
      unitRef="U_USD">70900</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="C_2aa10c7a-7d5a-4616-a85e-4aa09e5d2335"
      decimals="-3"
      id="F_2c67e8dc-0fe2-4ed1-a194-f2340035dab3"
      unitRef="U_USD">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b"
      decimals="-2"
      id="F_dc7cb178-90bb-44ff-93eb-a177f3407d80"
      unitRef="U_USD">195400</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="C_1deee19f-880d-4d52-82fe-016d15dd795a"
      decimals="-2"
      id="F_b4031ed0-c32a-49f1-8603-60fa331dd394"
      unitRef="U_USD">949200</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="C_58e4f120-1efd-4401-8384-861db10be743"
      decimals="-3"
      id="F_0b86db23-340d-4ac7-a39b-7c6fb08ca718"
      unitRef="U_shares">14000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="C_2aa10c7a-7d5a-4616-a85e-4aa09e5d2335"
      decimals="-3"
      id="F_6ef82847-1ccf-4ade-9701-3e4317562ba7"
      unitRef="U_shares">0</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="C_04c0a89d-45d1-4b08-b108-ebdfd45d7e3b"
      decimals="-3"
      id="F_76dc451e-1396-439f-91e8-e36d1dce0bce"
      unitRef="U_shares">45000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="C_1deee19f-880d-4d52-82fe-016d15dd795a"
      decimals="-3"
      id="F_91dd6709-7f72-4529-8977-f7a0cf392c82"
      unitRef="U_shares">187000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="C_f46e4734-cb96-4e89-9673-74cc9f95d89a"
      id="F_b1e4d88b-6fd8-43da-a387-da40b3858aee">P6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent
      contextRef="C_d488db77-a50f-4229-bff3-7b90b7f4ee80"
      decimals="2"
      id="F_9413b2c8-5bd4-49cf-a62a-ba4b8c83dfe0"
      unitRef="U_pure">0.85</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate
      contextRef="C_85745882-ba3b-4f06-8f7e-1e5fe04752a5"
      decimals="2"
      id="F_c9b850b3-d609-415a-a98d-a8691e95f1b6"
      unitRef="U_pure">0.20</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate
      contextRef="C_f46e4734-cb96-4e89-9673-74cc9f95d89a"
      decimals="2"
      id="F_f76c429d-7911-4adc-88a1-4f92f1abb0ef"
      unitRef="U_pure">0.15</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="C_e1d45918-415f-4f91-8e24-34e59f2ab891"
      decimals="-6"
      id="F_dd4884de-06ce-4111-99c1-4c1b8b615048"
      unitRef="U_USD">0</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="C_f46e4734-cb96-4e89-9673-74cc9f95d89a"
      decimals="-5"
      id="F_ad2d16d9-f9e2-4aa9-9ae2-42e3427170b0"
      unitRef="U_USD">100000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="C_f46e4734-cb96-4e89-9673-74cc9f95d89a"
      decimals="INF"
      id="F_d782f575-4dd4-4dca-adf5-3d77d18345e1"
      unitRef="U_shares">22852</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_0792782e-4a57-4e2c-b8e5-2b03a4a1f489">&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Note 13. Commitments and Contingencies&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Non-Recurring Severance and Exit Costs&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The non-recurring workforce reduction severance liability is recorded in accrued compensation on the accompanying unaudited condensed consolidated balance sheet. The severance and exit cost were recorded in the relevant operating expense departments in the accompanying unaudited condensed consolidated statement of operations.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table presents activity that we recorded related to severance and exit costs:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.74%;"&gt;&lt;/td&gt;
        &lt;td style="width:17%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:23.26%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Severance and Exit Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(In thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Accrued to expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at March 31, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Accrued to expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:11pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Potential Product Warranty Claims&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company had a general warranty accrual of approximately &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;0.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;million as of each of June 30, 2024 and December 31, 2023.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Indemnification&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;In some agreements to which the Company is a party, the Company has agreed to indemnify the other party for certain matters, including, but not limited to, product liability and intellectual property. To date, we have not recorded any material liabilities in the accompanying consolidated financial statements.&lt;/span&gt;&lt;/p&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <airg:ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_d97b82f4-2087-41f3-ba59-a801764baea7">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following table presents activity that we recorded related to severance and exit costs:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:57.74%;"&gt;&lt;/td&gt;
        &lt;td style="width:17%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:23.26%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Severance and Exit Costs&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(In thousands)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Accrued to expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;(&lt;/span&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;50&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at March 31, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Accrued to expense&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Payments&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Balance at June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;&#x2014;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="text-indent:14pt;vertical-align:bottom;"&gt;&lt;p style="margin-left:14pt;text-indent:0;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</airg:ScheduleOfCommitmentsAndContingenciesLiabilityRecordedRelatedToSeveranceAndExitCostsTableTextBlock>
    <airg:SeveranceAndExitCosts1
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_66a8a8ff-414f-4a22-ac8d-70a8d068ca88"
      unitRef="U_USD">50000</airg:SeveranceAndExitCosts1>
    <airg:AccruedExpenseOfSeverancCosts
      contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72"
      decimals="-3"
      id="F_f1f1cdeb-baeb-4ed6-8324-2ff951c1dc73"
      unitRef="U_USD">0</airg:AccruedExpenseOfSeverancCosts>
    <airg:PaymentOfSeveranceCosts
      contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72"
      decimals="-3"
      id="F_5f467180-131b-403f-bf1f-71f37b31d804"
      unitRef="U_USD">-50000</airg:PaymentOfSeveranceCosts>
    <airg:SeveranceAndExitCosts1
      contextRef="C_d41a7360-3930-46e7-bcff-eb8f951d01c8"
      decimals="-3"
      id="F_071c73a3-0a8b-4c2e-ba5c-3464b8853213"
      unitRef="U_USD">0</airg:SeveranceAndExitCosts1>
    <airg:AccruedExpenseOfSeverancCosts
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_088f8efb-fab0-4672-a2e7-ee34349ce79f"
      unitRef="U_USD">0</airg:AccruedExpenseOfSeverancCosts>
    <airg:PaymentOfSeveranceCosts
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_0a6a09b5-e0d9-4ff7-9bbe-b9f3affb0d2c"
      unitRef="U_USD">0</airg:PaymentOfSeveranceCosts>
    <airg:SeveranceAndExitCosts1
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_085518a3-217c-4f46-9cdb-9f2de8f33fc6"
      unitRef="U_USD">0</airg:SeveranceAndExitCosts1>
    <airg:AccrualWarrantyExpense
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-5"
      id="F_4a06a3ac-853a-411c-bc23-0889c2c571e1"
      unitRef="U_USD">100000</airg:AccrualWarrantyExpense>
    <airg:AccrualWarrantyExpense
      contextRef="C_46837950-affe-4a34-a6b2-44c87b328126"
      decimals="-5"
      id="F_c89764c1-cf9c-41d2-a69c-40dc011c6636"
      unitRef="U_USD">100000</airg:AccrualWarrantyExpense>
    <us-gaap:ConcentrationRiskDisclosureTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_9587f6e1-ab76-4fed-a78b-0a0c31b7a875">&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Note 14. Concentrations&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Concentration of Sales and Accounts Receivable&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following represents customers that accounted for &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;% or more of total revenue:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:32.213%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.187%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.506%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.125%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.125%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Three months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Six months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Customer A&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Customer B&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following represents customers that accounted for &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;% or more of total trade accounts receivable:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:46.809%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.3%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:22.784%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.3%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:21.804%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Customer A&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Customer B&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;&lt;p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The allowance for credit losses as of June 30, 2024 and December 31, 2023 was not material.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Concentration of Purchases&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;During the six months ended June 30, 2024, the Company&#x2019;s products were manufactured by six CMs with locations in China, Vietnam, Mexico, and the United States.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Concentration of Cash&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company&#x2019;s cash deposits exceeded the Federal Deposit Insurance Corporation&#x2019;s insured limits. The Company has not experienced losses on these accounts. Most of the Company's deposits are in several accounts at a large institutional bank.&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:12pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;font-style:italic;min-width:fit-content;"&gt;Concentration of Property and Equipment&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company&#x2019;s property and equipment, net by geographic region, are as follows (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:49.8%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.48%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.48%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.52%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,038&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,295&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Asia Pacific (APAC)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;71&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;86&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Europe, Middle East and Africa (EMEA)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;111&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Property and equipment, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,507&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;/div&gt;</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_ef624090-20c0-4eda-8314-fe1bf7bf721f">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following represents customers that accounted for &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;% or more of total revenue:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:32.213%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:15.187%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:14.506%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.125%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:1.461%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:12.125%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Three months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Six months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Customer A&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;24&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;20&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Customer B&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;16&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The following represents customers that accounted for &lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;10&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;% or more of total trade accounts receivable:&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:46.809%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.3%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:22.784%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.3%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:21.804%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Customer A&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;27&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Customer B&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;%&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_39b91c54-7d09-4705-804a-98be89f600ca"
      decimals="2"
      id="F_2bfcd3d0-44da-4afc-be41-d7ae0cf035ea"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_9a55883d-ffe6-40dd-aa81-0bcaed69b5a3"
      decimals="2"
      id="F_7a4f07d3-5905-4dd8-ae30-c8b080a4ae82"
      unitRef="U_pure">0.24</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_211b034d-b71f-44aa-b1fd-04af90e0c4cd"
      decimals="2"
      id="F_4aa07092-916c-4315-99ff-76528623dbcf"
      unitRef="U_pure">0.09</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_19b82e51-20c2-4a00-a405-b79138daa225"
      decimals="2"
      id="F_f70348c2-9aa5-4be2-8299-6814263dc2a2"
      unitRef="U_pure">0.20</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_ed6acad9-a4a2-4161-824f-b8f4fea4caaa"
      decimals="2"
      id="F_df5d0519-3a92-4a37-bdea-87eb6eb4ca26"
      unitRef="U_pure">0.12</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_a5df0e59-957c-4aa1-a540-46af7254a00e"
      decimals="2"
      id="F_f4c47851-3dd4-4bff-b4a3-c1071dc1bfa1"
      unitRef="U_pure">0.16</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_95ab88bd-76d4-4fbf-ac09-eed5b64d70d4"
      decimals="2"
      id="F_113b21e4-a388-4f57-9ac3-0061605e021c"
      unitRef="U_pure">0.06</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_0bcf9265-2463-4d18-8070-5bbe06eed5df"
      decimals="2"
      id="F_942acebf-3625-4025-ada3-fba54c34e588"
      unitRef="U_pure">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_00c8fc38-b9f5-45ca-8645-9cfe7d739a09"
      decimals="2"
      id="F_76e78a58-d561-4252-adbc-029bafbcb56d"
      unitRef="U_pure">0.07</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_a52a33fe-2be9-4bc0-aa13-0abcd28fa9b3"
      decimals="2"
      id="F_ff5d26f8-419c-446c-94ce-334c32266fba"
      unitRef="U_pure">0.10</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_c9ca72ad-7aa1-4859-9947-8646bfb8f97d"
      decimals="2"
      id="F_eb5b33ff-19ec-4f5b-a835-08402677209f"
      unitRef="U_pure">0.27</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_1afdc367-4577-4fdd-99e9-9906a07e083d"
      decimals="2"
      id="F_8b325c46-5618-4be8-a2d7-b63661c982a1"
      unitRef="U_pure">0.17</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_bc853caf-d882-4dae-844e-7d1e7ae55dac"
      decimals="2"
      id="F_4ccaec92-c9e8-45f5-baac-006c522a004a"
      unitRef="U_pure">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="C_5c6e0d5f-b67a-49c0-a9b5-523af891b437"
      decimals="2"
      id="F_186162f3-4654-47eb-921e-32628d6c1203"
      unitRef="U_pure">0.14</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_2da3c239-b597-49cd-b08c-b8576b3b8d7b">&lt;p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The Company&#x2019;s property and equipment, net by geographic region, are as follows (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="text-indent:-4.749%;padding-left:4.533%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:49.8%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.48%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.48%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:20.52%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;June 30, 2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,038&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,295&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Asia Pacific (APAC)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;71&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;86&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fc;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Europe, Middle East and Africa (EMEA)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;111&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;126&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Property and equipment, net&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,220&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:middle;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,507&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:middle;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;</us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock>
    <us-gaap:NoncurrentAssets
      contextRef="C_b7ca1f41-0722-4e27-82aa-b407341774ba"
      decimals="-3"
      id="F_063583af-0c0f-4c38-aeb0-4809f8d51c6f"
      unitRef="U_USD">2038000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="C_4d9465af-3f74-48f7-aa6f-9d372d477df1"
      decimals="-3"
      id="F_cdd8c9ab-ba90-4de1-bae5-9a487ae10ea9"
      unitRef="U_USD">2295000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="C_97c02c81-358b-4e05-85c1-05997fed85f0"
      decimals="-3"
      id="F_2e1c93a0-0b34-4c95-8ec4-6d7c5f78c09e"
      unitRef="U_USD">71000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="C_789ae37c-e89a-4496-8b41-b98316a1a539"
      decimals="-3"
      id="F_ca8dca1c-2a3c-440f-be10-596704fcf1f7"
      unitRef="U_USD">86000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="C_ecf301a5-d7cb-454b-ac8c-0d3234eda685"
      decimals="-3"
      id="F_c8c5e262-a15f-404b-8db5-2b267d120144"
      unitRef="U_USD">111000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="C_72836a28-db75-428c-95b6-5401a42a5e14"
      decimals="-3"
      id="F_3429ebaa-bb6c-4ec3-8a4f-834b2218fea1"
      unitRef="U_USD">126000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-3"
      id="F_514723c9-2deb-4dde-a6f7-4f3d0af2b1ff"
      unitRef="U_USD">2220000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-3"
      id="F_048e7017-c023-408f-b720-c119084757c5"
      unitRef="U_USD">2507000</us-gaap:NoncurrentAssets>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_b563065c-a30e-46d7-a6b7-19472616fada">&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Note 15. Revenue&lt;/span&gt;&lt;/p&gt;&lt;div style="font-size:10pt;font-family:Arial;"&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Disaggregated revenues are as fo&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;llows (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:38.98%;"&gt;&lt;/td&gt;
        &lt;td style="width:8.78%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.34%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:7.8999999999999995%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.459999999999999%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:3.2%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:7.8999999999999995%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Three months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Six months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;By Market Group:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Enterprise&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,615&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,366&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,494&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,803&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Consumer&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,827&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,189&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,338&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Automotive&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,742&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,275&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,583&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,150&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total sales&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,184&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,415&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;By Geography:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,337&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,438&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,361&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,606&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;China (including Hong Kong and Taiwan)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,397&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,059&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,028&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Rest of the world&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;450&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;333&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,354&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;640&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total sales&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,184&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,415&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Timing of revenue recognition:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Products and services transferred at a point in time&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,507&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,795&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28,032&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,639&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Products and services transferred over time&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;677&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,035&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,383&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,635&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total sales&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,184&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,415&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Revenue generated from the United States was &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;9.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million and &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;9.4&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million for the &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;three months ended June 30, 2024 and 2023, respectively, and &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19.3&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million and &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;19.5&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million for the &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;six months ended June 30, 2024 and 2023, respectively.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Liability for potential rights of return was approximately &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.1&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million as of June 30, 2024 and December 31, 2023 and is included within accrued liabilities in the accompanying unaudited condensed consolidated balance sheets.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Contract liabilities are deferred revenues that were recorded when advance payment were received for remaining performance obligations that are recognized over time. The contract liabilities were &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,200&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; and &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;"&gt;17,000&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;as of June 30, 2024 and December 31, 2023, respectively.&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;The remaining non-cancellable revenue, that will be recognized over time on a series of distinct performance obligations, amounts to &lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;span style="font-size:10pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;0.2&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; million&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt; as of June 30, 2024&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;.&lt;/span&gt;&lt;/p&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      id="F_b95abbf7-70f2-4443-b7f9-4fc70e059f5c">&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Disaggregated revenues are as fo&lt;/span&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;llows (in thousands):&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;
      &lt;table style="margin-left:auto;border-spacing:0;table-layout:fixed;width:100.0%;border-collapse:separate;margin-right:auto;"&gt;
       &lt;tr style="visibility:collapse;"&gt;
        &lt;td style="width:38.98%;"&gt;&lt;/td&gt;
        &lt;td style="width:8.78%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:9.34%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:7.8999999999999995%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:2.72%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:10.459999999999999%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:3.2%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
        &lt;td style="width:7.8999999999999995%;"&gt;&lt;/td&gt;
        &lt;td style="width:1%;"&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Three months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="6" style="border-top:0.5pt solid #000000;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Six months ended June 30,&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="border-top:0.5pt solid #ffffff03;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;white-space:pre-wrap;word-break:break-word;text-align:left;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2024&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;2023&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;By Market Group:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Enterprise&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,615&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;7,366&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;17,494&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,803&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Consumer&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;4,827&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,189&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,338&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;11,321&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Automotive&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,742&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;2,275&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;3,583&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,150&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total sales&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,184&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,415&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;By Geography:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;North America&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,337&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;9,438&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,361&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;19,606&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;China (including Hong Kong and Taiwan)&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;5,397&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;6,059&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;8,700&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;12,028&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Rest of the world&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;450&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;333&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,354&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;640&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total sales&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,184&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,415&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="background-color:#ffffff;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;white-space:pre-wrap;word-break:break-word;"&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-family:Arial;min-width:fit-content;"&gt;Timing of revenue recognition:&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td colspan="2" style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Products and services transferred at a point in time&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,507&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;14,795&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;28,032&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;30,639&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#cff0fd;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Products and services transferred over time&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;677&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,035&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,383&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:0.5pt solid #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;1,635&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:0.5pt solid #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
       &lt;tr style="height:10pt;background-color:#ffffff;word-break:break-word;"&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:top;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;Total sales&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,184&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;15,830&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;29,415&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;text-align:left;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:center;"&gt;&lt;span style="white-space:pre-wrap;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #000000;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;font-family:Arial;min-width:fit-content;"&gt;$&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:pre-wrap;vertical-align:bottom;border-bottom:2.25pt double #000000;text-align:center;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:right;"&gt;&lt;span style="font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;"&gt;32,274&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
        &lt;td style="white-space:nowrap;vertical-align:bottom;border-bottom:2.25pt double #ffffff03;"&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;
       &lt;/tr&gt;
      &lt;/table&gt;&lt;p style="font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;&#160;&lt;/span&gt;&lt;/p&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_1952da4a-9508-4358-8ff0-b4d057c1ed14"
      decimals="-3"
      id="F_01bf9953-267b-41d8-bd5b-8175e2f2e201"
      unitRef="U_USD">8615000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_7f383697-5844-4b82-9a4e-b3050028607b"
      decimals="-3"
      id="F_38e316ed-7cd1-4122-a7b9-186c3134ab7a"
      unitRef="U_USD">7366000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_1ba04047-43b5-43b7-9beb-1a23891b8db2"
      decimals="-3"
      id="F_1f72ad97-592e-41e9-81ea-459d62340fb3"
      unitRef="U_USD">17494000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_ffcc8a12-49a2-4919-9b70-70a2a061cdb1"
      decimals="-3"
      id="F_c0300cea-0d4c-43d5-a9f6-5327c40dfdd6"
      unitRef="U_USD">15803000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_e5aeb583-1e63-4a2c-b261-1d61577d1e04"
      decimals="-3"
      id="F_8ab5e8c6-33d3-42f4-a993-1186d0c27ccd"
      unitRef="U_USD">4827000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_4bceeb1b-2475-440d-96c9-a90b4a0a066b"
      decimals="-3"
      id="F_0df3ec28-6340-4d1a-8c69-b6d54f7abc6e"
      unitRef="U_USD">6189000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_c7681787-01da-4cfc-9e8a-937ba84d7664"
      decimals="-3"
      id="F_feb53ff2-5e18-4570-971d-dfa1261d711e"
      unitRef="U_USD">8338000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_74f5000c-88e6-49bf-96f3-c08519842d35"
      decimals="-3"
      id="F_91c22841-f333-45d0-9725-9b7f71d6561d"
      unitRef="U_USD">11321000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_5c80f53f-063d-4e96-83c9-b98152853166"
      decimals="-3"
      id="F_f3240339-b9a1-4a3b-a66a-edb36b348e70"
      unitRef="U_USD">1742000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_cfcbd150-1e5f-4bef-b9ad-a94f636581b9"
      decimals="-3"
      id="F_f5c9496c-347c-49d7-ad3b-dd046d3857e5"
      unitRef="U_USD">2275000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_e13ae568-6342-469d-adc8-7054c28ff7e9"
      decimals="-3"
      id="F_3021bdbd-60d5-4a46-bc64-b115c8b959ca"
      unitRef="U_USD">3583000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_d2b68738-49e7-493a-bad7-b0771bcb17e5"
      decimals="-3"
      id="F_2bfff4eb-3953-4e34-b74a-3d3bc824100f"
      unitRef="U_USD">5150000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_7fb5b2e6-9755-4ab2-a077-e07da732ae37"
      unitRef="U_USD">15184000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_095a3193-b238-4b62-8f24-876010e375ba"
      unitRef="U_USD">15830000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_9f8816b8-ae90-40bf-9fdc-f16fc2e07878"
      unitRef="U_USD">29415000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_9631c4d5-ec68-41d1-8a9e-1e25b852611b"
      unitRef="U_USD">32274000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_033858d2-91ee-4dc8-8a1b-308848505b0a"
      decimals="-3"
      id="F_6a05b002-1489-4eca-bc43-6dab6a01a4d3"
      unitRef="U_USD">9337000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_c895571d-5c20-4fd0-ac84-e70be4798d56"
      decimals="-3"
      id="F_269084cf-e047-4245-b503-f3625363e9e7"
      unitRef="U_USD">9438000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_54553e49-f718-47c3-a177-7d5ddf9a39e3"
      decimals="-3"
      id="F_e79215c0-a429-4eff-8871-bae9dd40491c"
      unitRef="U_USD">19361000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_c90ea074-812d-49eb-8bc3-ab07e462da2e"
      decimals="-3"
      id="F_fc6d24ab-396d-41b7-af87-0709b00d772e"
      unitRef="U_USD">19606000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_0eda61ad-97a4-4823-9348-afe087975fc3"
      decimals="-3"
      id="F_3bbb5e72-f7cd-4962-a606-f7b44e18cfad"
      unitRef="U_USD">5397000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_e08a265f-a0ae-4dea-b575-c207e3767bff"
      decimals="-3"
      id="F_ab30fb7e-ff1d-4a96-9d2b-98d3ce806efe"
      unitRef="U_USD">6059000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_82204119-297d-48a3-abf7-3e4210eec762"
      decimals="-3"
      id="F_40963249-0d3f-4b7a-bbba-54f96a270a33"
      unitRef="U_USD">8700000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_ced7521a-62cc-45b9-aee4-d4c87166f847"
      decimals="-3"
      id="F_8b960202-a536-4409-843b-ce86ac20477d"
      unitRef="U_USD">12028000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_4cf81107-a033-4b96-bcba-bf43481690eb"
      decimals="-3"
      id="F_c4087f8d-f9f4-4695-852d-680003f17ef7"
      unitRef="U_USD">450000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_0aeaccfa-63c4-457b-aba4-e58bc0acd805"
      decimals="-3"
      id="F_14b91ebc-cdff-4eb9-af61-855216445c42"
      unitRef="U_USD">333000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_fe2fa791-a70e-47bd-b627-8b3bbf7e331a"
      decimals="-3"
      id="F_8f04c941-791b-4c78-b71c-548cf586814c"
      unitRef="U_USD">1354000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_45c0e743-24dd-4135-8ce6-2450628d38b8"
      decimals="-3"
      id="F_0cca1dac-c5fc-4158-83d4-b6401f20e2cc"
      unitRef="U_USD">640000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_20979c77-79d3-4956-b57c-57fe349e55cf"
      unitRef="U_USD">15184000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_97e06f28-9082-4e8e-9261-d15e2fb6101e"
      unitRef="U_USD">15830000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_54097894-d27a-4c1f-a5ae-99247c820e4a"
      unitRef="U_USD">29415000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_0716ccaa-34fa-41a4-a481-fab55631700d"
      unitRef="U_USD">32274000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_f67e1f33-d314-40ee-8261-3043e701723b"
      decimals="-3"
      id="F_d03e5a32-e40f-426d-b794-67aa62ed4efc"
      unitRef="U_USD">14507000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_c5947326-06db-4c9a-a516-420565e54d71"
      decimals="-3"
      id="F_4b5a2c66-7880-469d-9e10-60a33f7d53b4"
      unitRef="U_USD">14795000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_406fd382-7b26-4270-a36a-e388be8ec9b5"
      decimals="-3"
      id="F_372888c1-3bac-4b68-a8f4-6c8622ec8817"
      unitRef="U_USD">28032000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_fc9b5504-33f6-466b-8261-5df11f04d1e0"
      decimals="-3"
      id="F_25774d86-3c8d-4f0e-9a65-0c7194fe920d"
      unitRef="U_USD">30639000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_53019d3e-70fc-43ff-ab6f-65fc83de5b4f"
      decimals="-3"
      id="F_6e486e3d-ceb3-439a-a59c-83954a4dd4f4"
      unitRef="U_USD">677000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_8ef290ea-e362-4743-a68d-e8f774b80d92"
      decimals="-3"
      id="F_a53a7153-beaa-47cb-9933-e6d16f45ae3f"
      unitRef="U_USD">1035000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_0e194c87-3083-4f0d-8b8b-65e5b32819ce"
      decimals="-3"
      id="F_150f2bf4-1bc2-48ff-8567-33df18fbba7c"
      unitRef="U_USD">1383000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_08ec7d9c-a94b-4c25-9045-375630b633cd"
      decimals="-3"
      id="F_63e4c6cb-f1bd-422e-864c-09b9ff72a6a9"
      unitRef="U_USD">1635000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      decimals="-3"
      id="F_aa2c8198-9a3e-456d-82ad-2801e1ea54b9"
      unitRef="U_USD">15184000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_f3d44044-80bd-43bc-a462-ebdd4154a134"
      decimals="-3"
      id="F_727a46ed-d0e5-4093-8052-aab7f3c82ded"
      unitRef="U_USD">15830000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_7535d394-21bf-4fbb-a848-92c4572718e4"
      decimals="-3"
      id="F_02b68fd7-3abc-49b4-96b6-3032f8b93ae6"
      unitRef="U_USD">29415000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_2b4bbe4d-b394-45a8-a772-bc4eaaff95f2"
      decimals="-3"
      id="F_aef91562-3fad-4b4f-95f0-437ae3234e9c"
      unitRef="U_USD">32274000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_5f6638eb-5f0e-4049-bf05-f222443db01b"
      decimals="-5"
      id="F_b5190948-a3dd-471f-98f5-2859101f8836"
      unitRef="U_USD">9300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_e70a59ac-c0ac-4d2a-aaa3-4d6c25a9fbf7"
      decimals="-5"
      id="F_5cd65130-8a68-4dce-837e-1a97abf18442"
      unitRef="U_USD">9400000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_63718222-753e-42aa-9f27-f99e69a1860c"
      decimals="-5"
      id="F_ff3a1495-4b83-4e88-9400-01654c621259"
      unitRef="U_USD">19300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="C_b943ea6d-4ffd-4191-bfe3-b662c75b79b7"
      decimals="-5"
      id="F_70526f59-b5fc-4720-9509-ea193c160674"
      unitRef="U_USD">19500000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ContractWithCustomerRightToRecoverProduct
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-5"
      id="F_6f7b70c3-d793-4b7d-8cd1-a9354621bad2"
      unitRef="U_USD">100000</us-gaap:ContractWithCustomerRightToRecoverProduct>
    <us-gaap:ContractWithCustomerRightToRecoverProduct
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="-5"
      id="F_1e3e5332-e508-47ad-85de-2da3ee759062"
      unitRef="U_USD">100000</us-gaap:ContractWithCustomerRightToRecoverProduct>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="0"
      id="F_32b2c11c-3fed-4ad6-acd7-2b1898039d59"
      unitRef="U_USD">30200</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="C_e77106dc-4406-4c8c-9a29-9e1f6f0afdcc"
      decimals="0"
      id="F_ffc7333a-b7af-4efb-8d9f-8bf74a2e9ddf"
      unitRef="U_USD">17000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="C_5aa804d9-ee90-4144-91af-33137e2cafaf"
      decimals="-5"
      id="F_093616a1-b4e5-47b2-91c6-d84b65f25d8e"
      unitRef="U_USD">200000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="C_814c6938-137e-44bb-a615-e62384dc5c72"
      id="F_a1e7894f-7fa3-407d-a81f-5365c64ccd20">&lt;p style="font-size:10pt;margin-top:18pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-weight:bold;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;Note 16. Subsequent Events&lt;/span&gt;&lt;/p&gt;&lt;p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"&gt;&lt;span style="color:#000000;white-space:pre-wrap;font-size:10pt;font-family:Arial;min-width:fit-content;"&gt;None.&lt;/span&gt;&lt;/p&gt;</us-gaap:SubsequentEventsTextBlock>
    <ecd:Rule10b51ArrAdoptedFlag
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      id="F_0d45d7bb-5eb2-4679-a5df-bc05680c9f0e">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      id="F_8a795cc4-e74f-413f-9f08-3a39fcc4d461">false</ecd:NonRule10b51ArrAdoptedFlag>
    <airg:Rule10B51ArrModifiedFlag
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      id="F_e70773b5-1ece-499b-bda8-ddbf19e3a5f4">false</airg:Rule10B51ArrModifiedFlag>
    <airg:NonRule10B51ArrModifiedFlag
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      id="F_7c8e1785-098a-46f5-ae00-b90f99f6b1b4">false</airg:NonRule10B51ArrModifiedFlag>
    <ecd:Rule10b51ArrTrmntdFlag
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      id="F_a27dbde2-5854-41ed-90ec-11add91e92e6">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag
      contextRef="C_fd3b18d8-83d3-4e7b-8705-01ac3d3bb665"
      id="F_7a557e53-b563-41d1-b7f5-c063bff6e59d">false</ecd:NonRule10b51ArrTrmntdFlag>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#F_4ef4dc0b-9f86-42f9-833c-489649d88bf1"
          xlink:label="F_4ef4dc0b-9f86-42f9-833c-489649d88bf1"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_df9211b8-ae46-4d10-9c79-ef58a8f6e68a"
          xlink:label="F_df9211b8-ae46-4d10-9c79-ef58a8f6e68a"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_f7b39257-6ea2-4920-bbb8-afd3f95d4a80"
          xlink:label="F_f7b39257-6ea2-4920-bbb8-afd3f95d4a80"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_f54f47e3-2b23-4ee2-8ff9-aef37cb7fad3"
          xlink:label="F_f54f47e3-2b23-4ee2-8ff9-aef37cb7fad3"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_e36068b5-0a1a-45a5-9129-d95b9ca6b669"
          xlink:label="F_e36068b5-0a1a-45a5-9129-d95b9ca6b669"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_27844e8c-f3e3-4cbb-9141-3e51ead0d079"
          xlink:label="F_27844e8c-f3e3-4cbb-9141-3e51ead0d079"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_370a21f6-e02c-4745-8777-b381c648ebe1"
          xlink:label="F_370a21f6-e02c-4745-8777-b381c648ebe1"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_eae259af-6a85-4e84-bc6e-31577e405fcd"
          xlink:label="F_eae259af-6a85-4e84-bc6e-31577e405fcd"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_fba44fcc-f844-4a8f-974d-578e9c2e9dbe"
          xlink:label="F_fba44fcc-f844-4a8f-974d-578e9c2e9dbe"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_875b104e-f21d-4d24-b4f4-af869e8e4d8d"
          xlink:label="F_875b104e-f21d-4d24-b4f4-af869e8e4d8d"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_f478f454-faa3-40db-8d1a-44312e37bc99"
          xlink:label="F_f478f454-faa3-40db-8d1a-44312e37bc99"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#F_26957875-1597-4a69-a023-eaf4f7c40b88"
          xlink:label="F_26957875-1597-4a69-a023-eaf4f7c40b88"
          xlink:type="locator"/>
        <link:footnote id="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8" xlink:label="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:p style="font-size:10pt;margin-top:6pt;font-family:Times New Roman;margin-bottom:0;text-align:left;"><xhtml:span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(1)</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> The table above excludes </xhtml:span><xhtml:span style="font-size:8pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">541,000</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> treasury stock shares as of June 30, 2024 and December 31, 2023</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">.</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> </xhtml:span></xhtml:p></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_4ef4dc0b-9f86-42f9-833c-489649d88bf1"
          xlink:to="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_df9211b8-ae46-4d10-9c79-ef58a8f6e68a"
          xlink:to="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_f7b39257-6ea2-4920-bbb8-afd3f95d4a80"
          xlink:to="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_f54f47e3-2b23-4ee2-8ff9-aef37cb7fad3"
          xlink:to="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_e36068b5-0a1a-45a5-9129-d95b9ca6b669"
          xlink:to="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_27844e8c-f3e3-4cbb-9141-3e51ead0d079"
          xlink:to="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_370a21f6-e02c-4745-8777-b381c648ebe1"
          xlink:to="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_eae259af-6a85-4e84-bc6e-31577e405fcd"
          xlink:to="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_fba44fcc-f844-4a8f-974d-578e9c2e9dbe"
          xlink:to="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_875b104e-f21d-4d24-b4f4-af869e8e4d8d"
          xlink:to="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_f478f454-faa3-40db-8d1a-44312e37bc99"
          xlink:to="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_26957875-1597-4a69-a023-eaf4f7c40b88"
          xlink:to="FNT_dfb0e4ac-cb07-45cd-b129-ac460c7b1da8"
          xlink:type="arc"/>
        <link:footnote id="FNT_f9b5b373-b0a3-42b7-be74-c6704769000b" xlink:label="FNT_f9b5b373-b0a3-42b7-be74-c6704769000b" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:p style="text-indent:-2.74%;padding-left:2.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><xhtml:span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(2)</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> On January 1, 2024, the number of authorized shares in the 2016 Plan increased by </xhtml:span><xhtml:span style="font-size:8pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;">440,000</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> shares pursuant to the evergreen provisions of the 2016 Plan.</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> </xhtml:span></xhtml:p></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_e36068b5-0a1a-45a5-9129-d95b9ca6b669"
          xlink:to="FNT_f9b5b373-b0a3-42b7-be74-c6704769000b"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_26957875-1597-4a69-a023-eaf4f7c40b88"
          xlink:to="FNT_f9b5b373-b0a3-42b7-be74-c6704769000b"
          xlink:type="arc"/>
        <link:footnote id="FNT_9778f514-a4e8-4858-8ee1-d7ad0675707c" xlink:label="FNT_9778f514-a4e8-4858-8ee1-d7ad0675707c" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:p style="text-indent:-1.351%;padding-left:1.333%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><xhtml:span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(3)</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> On February 5, 2021, </xhtml:span><xhtml:span style="font-size:8pt;font-family:Arial;color:#000000;white-space:pre-wrap;min-width:fit-content;">300,000</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> shares were authorized pursuant to the terms of the Inducement Plan.</xhtml:span></xhtml:p></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_4ef4dc0b-9f86-42f9-833c-489649d88bf1"
          xlink:to="FNT_9778f514-a4e8-4858-8ee1-d7ad0675707c"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_370a21f6-e02c-4745-8777-b381c648ebe1"
          xlink:to="FNT_9778f514-a4e8-4858-8ee1-d7ad0675707c"
          xlink:type="arc"/>
        <link:footnote id="FNT_dc045c25-eecb-4ffa-865a-6d28ab80eb51" xlink:label="FNT_dc045c25-eecb-4ffa-865a-6d28ab80eb51" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US"><xhtml:p style="text-indent:-2.74%;padding-left:2.667%;font-size:10pt;margin-top:0;font-family:Times New Roman;margin-bottom:0;text-align:left;"><xhtml:span style="color:#000000;white-space:pre-wrap;vertical-align:super;font-size:5.36pt;font-family:Arial;min-width:fit-content;">(4) </xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">On January 1, 2024, the number of authorized shares in the 2016 Employee Stock Purchase Plan increased by </xhtml:span><xhtml:span style="font-size:8pt;font-family:Arial;white-space:pre-wrap;min-width:fit-content;color:#000000;">100,000</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;"> sh</xhtml:span><xhtml:span style="color:#000000;white-space:pre-wrap;font-size:8pt;font-family:Arial;min-width:fit-content;">ares pursuant to the evergreen provisions of the 2016 Employee Stock Purchase Plan.</xhtml:span></xhtml:p></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_fba44fcc-f844-4a8f-974d-578e9c2e9dbe"
          xlink:to="FNT_dc045c25-eecb-4ffa-865a-6d28ab80eb51"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="F_f54f47e3-2b23-4ee2-8ff9-aef37cb7fad3"
          xlink:to="FNT_dc045c25-eecb-4ffa-865a-6d28ab80eb51"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
